
Cloud Vulnerability DB
A community-led vulnerabilities database
CVE-2026-21686 is a heap-buffer-overflow and undefined behavior vulnerability in the CIccTagLutAtoB::Validate() function of the iccDEV library, which provides tools for interacting with ICC color management profiles. It affects iccDEV versions prior to 2.3.1.2 and was disclosed on January 7, 2026, with the underlying defect first reported on November 21, 2025. The vulnerability carries a CVSS v3.1 base score of 7.1 (High) (GitHub Advisory, Feedly).
The root cause is improper input validation (CWE-20) combined with reliance on undefined behavior (CWE-758) in IccProfLib/IccTagLut.cpp at line 4242. Specifically, CIccTagLutAtoB::Validate() uses channel counts derived from colorspace metadata rather than from the LUT itself, leading to a heap-buffer-overflow when processing a maliciously crafted ICC profile file. The fix, contributed by ChrisCoxArt in PR #222, corrects this by using channel counts from the LUT directly. A proof-of-concept reproducer ICC file is publicly available and was used to confirm the defect (GitHub Issue #214, GitHub PR #222).
Successful exploitation can result in high availability impact (denial of service via application crash) and low integrity impact, with no confidentiality impact. An attacker who can deliver a crafted ICC color profile to a user or application using the iccDEV library can trigger the heap-buffer-overflow, causing the processing application to abort. The attack requires user interaction (e.g., opening or processing a malicious ICC file) but requires no privileges or authentication (GitHub Advisory).
A public proof-of-concept reproducer ICC file is available in the xsscx Commodity-Injection-Signatures repository and was used to confirm the heap-buffer-overflow via AddressSanitizer (GitHub Issue #214). There is no evidence of in-the-wild exploitation, no known threat actor attribution, and the vulnerability is not listed in the CISA Known Exploited Vulnerabilities catalog. The EPSS score is approximately 0.055%, indicating low probability of near-term exploitation (Feedly).
icCurvesToXml_IccXmlLib_IccTagXml.cpp-L3049.icc) from the xsscx Commodity-Injection-Signatures repository, or craft a custom ICC profile with mismatched LUT channel counts and colorspace metadata.iccDumpProfile) to open and validate the ICC profile, which invokes CIccTagLutAtoB::Validate() in IccTagLut.cpp.Validate() function reads 8 bytes past the end of a heap-allocated buffer at line 4242, causing a heap-buffer-overflow and application crash (denial of service) (GitHub Issue #214)..icc profile files, particularly those with mismatched LUT and colorspace channel counts.CIccTagLutAtoB::Validate() in IccProfLib/IccTagLut.cpp:4242; AddressSanitizer output showing heap-buffer-overflow at the same location.iccDumpProfile or similar tools (GitHub Issue #214).Upgrade iccDEV to version 2.3.1.2, which contains the patch merging PR #222 that fixes the undefined behavior by using LUT-derived channel counts instead of colorspace-derived counts. No workarounds are available for unpatched versions. Organizations using iccDEV in applications that process untrusted ICC profiles should treat this upgrade as a priority (GitHub Advisory, GitHub PR #222).
The vulnerability was reported by security researcher xsscx and remediated by contributor ChrisCoxArt, with the fix merged on November 24, 2025, and the formal advisory published on January 3, 2026. The CISA vulnerability bulletin for the week of January 5, 2026 included this CVE. No significant broader media coverage or notable community debate has been identified beyond the GitHub issue and advisory (GitHub Advisory, CISA Bulletin).
Source: This report was generated using AI
Free Vulnerability Assessment
Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.
Get a personalized demo
"Best User Experience I have ever seen, provides full visibility to cloud workloads."
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
"We know that if Wiz identifies something as critical, it actually is."