
Cloud Vulnerability DB
A community-led vulnerabilities database
CVE-2026-21678 is a heap-based buffer overflow vulnerability in the IccTagXml() function of iccDEV, a library and toolset for interacting with ICC color management profiles maintained by the International Color Consortium. The vulnerability affects all iccDEV versions prior to 2.3.1.2 and was publicly disclosed on January 7, 2026. It was originally reported via fuzzing in October 2023 (GitHub Issue #55) and patched in November 2025 via PR #219, with the CVE formally assigned in January 2026. It carries a CVSS v3.1 base score of 7.8 (High) (GitHub Advisory).
The root cause is improper input validation (CWE-20) leading to a heap-based buffer overflow (CWE-122) with associated out-of-bounds read (CWE-125) and out-of-bounds write (CWE-787) in the icMBBToXml() function within IccXML/IccLibXML/IccTagXml.cpp. Specifically, the channel count passed to icCurvesToXml() was hard-coded to 3 rather than dynamically derived from the profile's actual input or output channel count; when a crafted .icc profile specifies a different number of channels (e.g., 1), the function reads beyond the allocated heap buffer. Exploitation requires a user to open or process a specially crafted ICC color profile file with a vulnerable version of iccDEV tools such as iccToXml. The fix, introduced in commit c6c0f1c, replaces the hard-coded 3 with pMBB->InputChannels() or pMBB->OutputChannels() as appropriate (GitHub Issue #55, Patch Commit).
Successful exploitation can result in high confidentiality, integrity, and availability impact on the affected system, as reflected in the CVSS score. An attacker who tricks a user into processing a malicious ICC profile file could achieve arbitrary code execution in the context of the application, potentially enabling data theft, file system modification, or application crash. The attack is local in vector and requires user interaction, limiting its scope to systems where users or automated pipelines process untrusted ICC profile files (GitHub Advisory).
A proof-of-concept crash-triggering ICC profile file was attached to the original GitHub issue (#55) by the reporter (RootUp), demonstrating the vulnerability via AddressSanitizer and GDB on Ubuntu 22.04. There is no evidence of in-the-wild exploitation or inclusion in the CISA Known Exploited Vulnerabilities (KEV) catalog. The EPSS score is approximately 0.018% (0.000180), indicating a very low probability of exploitation in the near term. No threat actor attribution or weaponized exploit kits have been identified (GitHub Issue #55, Feedly).
.icc color profile file that specifies a LutAtoB tag with a channel count other than 3 (e.g., 1 output channel), causing a mismatch with the hard-coded buffer size in icMBBToXml()..icc file with an iccDEV-based tool (e.g., iccToXml), or place it in a directory processed by an automated ICC profile handling pipeline.CIccTagLutAtoB::Read() allocates a heap buffer sized for the actual channel count, but icMBBToXml() passes the hard-coded value 3 to icCurvesToXml(), causing a read beyond the allocated region at IccTagXml.cpp:2991.SIGSEGV) when processing .icc files using iccDEV tools such as iccToXml; AddressSanitizer output reporting heap-buffer-overflow at IccTagXml.cpp:2991 in icCurvesToXml()..icc profile files in directories processed by iccDEV-based tools; sample PoC file referenced in GitHub Issue #55.SIGSEGV or ABORTING from iccToXml; AddressSanitizer output lines containing heap-buffer-overflow on address and stack traces through icCurvesToXml → icMBBToXml → CIccTagXmlLutAtoB::ToXml (GitHub Issue #55).Upgrade iccDEV to version 2.3.1.2 or later, which includes the fix from PR #219 (commit c6c0f1c) that replaces the hard-coded channel count of 3 with the dynamically derived input/output channel count. No official workarounds are provided by the maintainers. As an interim measure, avoid processing untrusted or externally sourced ICC profile files with vulnerable versions of iccDEV tools (GitHub Advisory, Patch Commit).
The vulnerability was noted in automated vulnerability tracking feeds including CIRCL's vulnerability lookup, VulnDB, and INCIBE-CERT shortly after disclosure. Brief social media mentions appeared on Mastodon and Bluesky via TheHackerWire. The CISA weekly vulnerability bulletin for the week of January 5, 2026 included this CVE. Community reaction was limited given the niche scope of the affected library (GitHub Advisory).
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."