Security Vulnerability Report
中文
CVE-2026-21493 CVSS 6.6 MEDIUM

CVE-2026-21493

Published: 2026-01-06 15:15:45
Last Modified: 2026-01-14 18:47:00

Description

iccDEV provides a set of libraries and tools for working with ICC color management profiles. Versions 2.3.1.1 and below are vulnerable to Type Confusion in its CIccSingleSampledeCurveXml class during XML Curve Serialization. This issue is fixed in version 2.3.1.2.

CVSS Details

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

Configurations (Affected Products)

cpe:2.3:a:color:iccdev:*:*:*:*:*:*:*:* - VULNERABLE
iccDEV <= 2.3.1.1

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
// PoC for CVE-2026-21493 - Type Confusion in CIccSingleSampledeCurveXml // This PoC demonstrates triggering the vulnerability via malformed XML Curve data #include <iostream> #include <string> #include <cstdint> // Simulated XML malicious data that triggers type confusion std::string malicious_xml_curve = R"( <?xml version="1.0" encoding="UTF-8"?> <ICCProfile> <CurveSerialization> <SingleSampleCurve type="INVALID_TYPE" size="999999"> <Data>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA</Data> </SingleSampleCurve> </CurveSerialization> </ICCProfile> )"; // Vulnerable function simulating CIccSingleSampledeCurveXml parsing void parseXmlCurve(const std::string& xml_data) { // Simulating the vulnerable parsing logic without type validation std::cout << "[+] Parsing XML Curve data..." << std::endl; std::cout << "[+] Data length: " << xml_data.length() << " bytes" << std::endl; // Simulated type confusion occurs here - no type checking // In vulnerable version, this creates wrong object type void* curve_obj = nullptr; // Simulating object creation with type confusion // The parser uses type field to determine object type but doesn't validate if (xml_data.find("type=\"INVALID_TYPE\"") != std::string::npos) { std::cout << "[!] WARNING: Invalid type detected, but parsing continues..." << std::endl; std::cout << "[!] Type confusion vulnerability triggered!" << std::endl; // This would lead to memory corruption in real implementation } std::cout << "[+] Parsing completed (vulnerable behavior simulated)" << std::endl; } int main() { std::cout << "=== CVE-2026-21493 PoC ===" << std::endl; std::cout << "Target: iccDEV <= 2.3.1.1" << std::endl; std::cout << "Vulnerability: Type Confusion in CIccSingleSampledeCurveXml" << std::endl; std::cout << std::endl; // Trigger the vulnerability parseXmlCurve(malicious_xml_curve); std::cout << std::endl; std::cout << "[!] In real scenario, this would cause:" << std::endl; std::cout << " - Heap corruption" << std::endl; std::cout << " - Potential arbitrary code execution" << std::endl; std::cout << " - Application crash (DoS)" << std::endl; return 0; }

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-21493", "sourceIdentifier": "[email protected]", "published": "2026-01-06T15:15:44.983", "lastModified": "2026-01-14T18:46:59.953", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "iccDEV provides a set of libraries and tools for working with ICC color management profiles. Versions 2.3.1.1 and below are vulnerable to Type Confusion in its CIccSingleSampledeCurveXml class during XML Curve Serialization. This issue is fixed in version 2.3.1.2."}, {"lang": "es", "value": "iccDEV proporciona un conjunto de bibliotecas y herramientas para trabajar con perfiles de gestión de color ICC. Las versiones 2.3.1.1 e inferiores son vulnerables a una confusión de tipos en su clase CIccSingleSampledeCurveXml durante la serialización de curvas XML. Este problema está solucionado 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:L/I:L/A:H", "baseScore": 6.6, "baseSeverity": "MEDIUM", "attackVector": "LOCAL", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "REQUIRED", "scope": "UNCHANGED", "confidentialityImpact": "LOW", "integrityImpact": "LOW", "availabilityImpact": "HIGH"}, "exploitabilityScore": 1.8, "impactScore": 4.7}]}, "weaknesses": [{"source": "[email protected]", "type": "Primary", "description": [{"lang": "en", "value": "CWE-188"}, {"lang": "en", "value": "CWE-703"}, {"lang": "en", "value": "CWE-843"}]}], "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/7ff76d1471077172f9659de8d9536443eac7c48f", "source": "[email protected]", "tags": ["Patch"]}, {"url": "https://github.com/InternationalColorConsortium/iccDEV/issues/358", "source": "[email protected]", "tags": ["Exploit", "Issue Tracking", "Vendor Advisory"]}, {"url": "https://github.com/InternationalColorConsortium/iccDEV/security/advisories/GHSA-p85g-f9q7-jmjx", "source": "[email protected]", "tags": ["Patch", "Vendor Advisory"]}]}}