CVE-2026-30982
Heap Out-of-Bounds Read in iccDEV Causes Crash, Data Leak
Publication date: 2026-03-10
Last updated on: 2026-03-13
Assigner: GitHub, Inc.
Description
Description
CVSS Scores
EPSS Scores
| Probability: | |
| Percentile: |
Meta Information
Affected Vendors & Products
| Vendor | Product | Version / Range |
|---|---|---|
| color | iccdev | to 2.3.1.5 (exc) |
Helpful Resources
Exploitability
| CWE ID | Description |
|---|---|
| CWE-125 | The product reads data past the end, or before the beginning, of the intended buffer. |
| CWE-129 | The product uses untrusted input when calculating or using an array index, but the product does not validate or incorrectly validates the index to ensure the index references a valid position within the array. |
| CWE-122 | A heap overflow condition is a buffer overflow, where the buffer that can be overwritten is allocated in the heap portion of memory, generally meaning that the buffer was allocated using a routine such as malloc(). |
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?
CVE-2026-30982 is a heap out-of-bounds read vulnerability in the function CIccPcsXform::pushXYZConvert() within the iccDEV project by the International Color Consortium. The issue arises due to improper validation of matrix sizes or array indices, which causes the function to read beyond the allocated heap buffer boundaries.
This vulnerability can cause application crashes and potentially leak memory contents. It is triggered when processing specially crafted ICC color management profiles that exploit this improper bounds checking.
The root cause relates to incorrect handling of matrix sizes during color space conversion (XYZ conversion) within the ICC profile processing pipeline.
The issue was identified through fuzz testing and AddressSanitizer diagnostics, and it affects versions of iccDEV prior to 2.3.1.5, where it has been fixed by adding proper validation checks.
How can this vulnerability impact me? :
This vulnerability can impact you by causing application crashes when processing malicious or specially crafted ICC profiles.
Additionally, it can potentially lead to leakage of memory contents, which may expose sensitive information stored in memory.
While it does not affect data integrity, it impacts availability due to crashes and confidentiality to a low degree due to possible memory leaks.
Exploitation requires local access and some user interaction, such as loading or applying a malicious ICC profile.
How does this vulnerability affect compliance with common standards and regulations (like GDPR, HIPAA)?:
I don't know
How can this vulnerability be detected on my network or system? Can you suggest some commands?
This vulnerability can be detected by testing the iccDEV software with specially crafted ICC profiles that trigger the heap out-of-bounds read in the function CIccPcsXform::pushXYZConvert(). Fuzz testing using libFuzzer was used to identify the issue.
A proof-of-concept involves using the command-line tool iccApplyNamedCmm with two crafted ICC files named hbo-CIccPcsXform-pushXYZConvert-IccCmm_cpp-Line3000.icc and its part2 to trigger the vulnerability.
Testing with AddressSanitizer and UndefinedBehaviorSanitizer enabled during build can help detect memory errors related to this vulnerability.
What immediate steps should I take to mitigate this vulnerability?
The immediate mitigation step is to upgrade the iccDEV package to version 2.3.1.5 or later, where the vulnerability has been fixed.
The fix includes validation checks ensuring the matrix size matches expected dimensions before processing, preventing the heap out-of-bounds read.
No workarounds are provided, so applying the official patch or updated release is the recommended action.
If upgrading immediately is not possible, avoid processing untrusted or specially crafted ICC profiles that could trigger the vulnerability.