CVE-2026-21485: 
Homebrew vulnerability analysis and mitigation

Overview

CVE-2026-21485 is a memory safety vulnerability in iccDEV, a set of libraries and tools for working with ICC color management profiles maintained by the International Color Consortium. Versions 2.3.1.1 and below are affected by Undefined Behavior (UB) and Out of Memory (OOM) errors, primarily in the CIccProfile::LoadTag() and CIccTagText::Read() functions. The vulnerability was discovered via LibFuzzer on December 21, 2025, and publicly disclosed on January 6, 2026. It carries a CVSS v3.1 base score of 8.8 (High) (GitHub Advisory, Feedly).

Technical details

The vulnerability stems from multiple weaknesses including improper input validation (CWE-20), out-of-bounds read (CWE-125), integer overflow (CWE-190), uncontrolled resource consumption (CWE-400), NULL pointer dereference (CWE-476), out-of-bounds write (CWE-787), and improper validation of specified quantity in input (CWE-1284). Specifically, the CIccTagText::Read() function at IccProfLib/IccTagBasic.cpp#L439 fails to validate enum values loaded from ICC profile data, allowing a value of 4160749567 to be loaded as an icMaterialColorSignature type — triggering UndefinedBehaviorSanitizer errors. Additionally, I/O functions such as Read16(), Write32(), and others lacked NULL pointer checks before dereferencing buffers. The fix (commit c136aac) added NULL checks throughout IccIO.cpp and corrected conditional logic in IccTagBasic.cpp to guard against NULL observer/illuminant pointers (GitHub Issue, GitHub Commit).

Impact

Successful exploitation can result in application crashes (denial of service), memory corruption, out-of-memory conditions, and potentially arbitrary code execution, depending on how the iccDEV library is integrated into a host application. All three security dimensions are rated High — confidentiality, integrity, and availability — reflecting the potential for memory corruption to be leveraged for code execution or sensitive data exposure. The attack requires user interaction (e.g., opening a malicious ICC profile file) but no privileges, and can be delivered over a network (GitHub Advisory, Feedly).

Exploitability

No public proof-of-concept exploit or in-the-wild exploitation has been confirmed as of the time of disclosure. The EPSS score is approximately 0.057%, indicating a low probability of near-term exploitation. The vulnerability is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog. The issue was discovered through LibFuzzer-based fuzzing, and a fuzzer-generated crash-inducing ICC profile (base64-encoded) was published in the GitHub issue, providing a functional reproduction artifact (GitHub Issue, Feedly).

Exploitation steps

  1. Craft a malicious ICC profile: Using the published fuzzer corpus or manually constructing a binary ICC profile file with invalid enum values (e.g., icMaterialColorSignature set to 0xF7FFFFFF) and malformed tag size fields that trigger integer overflow or OOM conditions.
  2. Deliver the file: Host the malicious .icc file on a web server, email attachment, or shared storage accessible to the target user.
  3. Trigger processing: Induce the victim to open or process the file using an application that links against the vulnerable iccDEV library (e.g., iccDumpProfile -v crash-oom.icc).
  4. Trigger UB/OOM: The library's CIccTagText::Read() or CIccProfile::LoadTag() processes the malformed profile, loading an invalid enum value or exhausting memory, resulting in undefined behavior, a crash, or potential memory corruption.
  5. Achieve objective: Depending on the application context and memory layout, the attacker may achieve denial of service or, in a more targeted scenario, leverage memory corruption for code execution (GitHub Issue, GitHub Advisory).

Indicators of compromise

  • File System: Presence of unexpected .icc files in temporary directories (e.g., /tmp/tmpk6dbz5y5/oom-*.icc); ICC profile files with anomalous sizes reported as -1 (0xFFFFFFFF bytes).
  • Logs: Application crash logs or core dumps referencing IccProfLib/IccTagBasic.cpp or IccDumpProfile.cpp; UndefinedBehaviorSanitizer (UBSan) output containing load of value 4160749567, which is not a valid value for type 'icMaterialColorSignature'.
  • Process: Abnormal termination of processes using iccDEV libraries; out-of-memory kill signals (OOM killer logs) associated with ICC profile processing tools.
  • Network: Downloads of .icc files from untrusted or unexpected external sources to systems running iccDEV-linked applications (GitHub Issue).

Mitigation and workarounds

Upgrade iccDEV to version 2.3.1.2, which includes the fix introduced in commit c136aac (December 22, 2025). No official workarounds are provided by the vendor. As interim mitigations, restrict processing of ICC color profiles from untrusted or external sources, implement application-level input filtering, and isolate or disable iccDEV functionality where not essential to operations (GitHub Advisory, GitHub Commit).

Community reactions

The vulnerability received coverage from security news aggregators including The Hacker Wire and was referenced in CISA's vulnerability bulletin for the week of January 5, 2026. Social media posts on Mastodon and Bluesky from The Hacker Wire noted the disclosure. Community reaction was limited given the niche nature of the iccDEV library, with no major vendor statements beyond the GitHub security advisory (CISA Bulletin, The Hacker Wire).

Additional resources


Source: This report was generated using AI

Related Homebrew vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-112393CRITICAL9.2
  • Python logoPython
  • open-webui
NoYesOct 19, 2026
CVE-2026-112392HIGH8.2
  • Python logoPython
  • pillow-python2
NoYesOct 19, 2026
CVE-2026-112395HIGH8.2
  • Python logoPython
  • kubeflow-pipelines-visualization-server
NoYesOct 19, 2026
CVE-2026-112396HIGH7.5
  • Python logoPython
  • pillow-python2
NoYesOct 19, 2026
CVE-2026-112394MEDIUM6.3
  • Python logoPython
  • python-pillow
NoYesOct 19, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Additional Wiz resources

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management