CVE-2026-21689
Homebrew vulnerability analysis and mitigation

Overview

CVE-2026-21689 is a Type Confusion vulnerability in the iccDEV library, specifically in the CIccProfileXml::ParseBasic() function at IccXML/IccLibXML/IccProfileXml.cpp:354:14. It affects all iccDEV versions prior to 2.3.1.2 and was reported on December 29, 2025, with a patch merged on January 3, 2026, and the CVE published on January 7, 2026. The vulnerability carries a CVSS v3.1 base score of 6.5 (Medium) (GitHub Advisory, Feedly).

Technical details

The root cause is a combination of improper input validation (CWE-20), integer overflow (CWE-190), improper handling of undefined values (CWE-232), NULL pointer dereference (CWE-476), unchecked return values leading to NULL pointer dereference (CWE-690), improper checks for exceptional conditions (CWE-754), and type confusion (CWE-843). The vulnerability occurs because earlier NULL pointer checks in CIccProfileXml::ParseBasic() were insufficient, allowing several code paths to dereference pointers without first validating them. An attacker can trigger this by supplying a malformed or specially crafted ICC color profile XML file (e.g., via iccFromXml), causing a load of a null pointer of type const char at line 354, as confirmed by UndefinedBehaviorSanitizer output (GitHub Issue #382, GitHub PR #423).

Impact

Successful exploitation results in a denial of service (DoS) through application crash due to NULL pointer dereference or other memory access violations when processing a malicious ICC color profile. There is no impact to confidentiality or data integrity — only availability is affected. The vulnerability impacts any application or service that uses the iccDEV library to parse ICC color profiles, and exploitation requires user interaction (e.g., opening or processing a malicious profile file) but no privileges (GitHub Advisory, Feedly).

Exploitability

A proof-of-concept (PoC) is publicly available via GitHub Issue #382, which demonstrates the crash using a crafted XML ICC profile processed by the iccFromXml tool. There is no evidence of active in-the-wild exploitation at this time, and the vulnerability is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog. The EPSS score is approximately 0.055%, indicating a low probability of exploitation in the near term (GitHub Issue #382, Feedly).

Exploitation steps

  1. Craft a malicious ICC profile XML: Create a specially crafted XML file representing an ICC color profile that contains malformed or undefined values designed to trigger the type confusion condition in CIccProfileXml::ParseBasic() (e.g., an XML with an unsupported ColorEncodingClass or missing required fields).
  2. Deliver the malicious file: Deliver the crafted XML file to a target system or user that uses the iccDEV library — for example, by hosting it on a web server, embedding it in a document, or sending it via email, exploiting the network attack vector with required user interaction.
  3. Trigger parsing: Cause the target application to process the malicious ICC profile, either by having the user open it with a tool like iccFromXml or by having a server-side application automatically parse uploaded ICC profiles.
  4. Achieve denial of service: The CIccProfileXml::ParseBasic() function attempts to load a null pointer of type const char at line 354, triggering a crash (UndefinedBehaviorSanitizer reports: runtime error: load of null pointer of type 'const char'), resulting in application termination (GitHub Issue #382, GitHub Advisory).

Indicators of compromise

  • Logs: Application crash logs or core dumps referencing IccXML/IccLibXML/IccProfileXml.cpp:354; UndefinedBehaviorSanitizer output containing runtime error: load of null pointer of type 'const char' in CIccProfileXml::ParseBasic().
  • File System: Presence of unexpected or malformed ICC profile XML files (.xml) submitted for processing; core dump files generated by the iccDEV-based application.
  • Process: Abnormal termination of processes using the iccDEV library (e.g., iccFromXml) when processing externally supplied ICC profile files; repeated application restarts or crash-restart loops in services that auto-process ICC profiles.

Mitigation and workarounds

The primary and only recommended mitigation is to upgrade iccDEV to version 2.3.1.2 or later, which includes the fix from PR #423 that adds proper NULL pointer checks before dereferencing in CIccProfileXml::ParseBasic(). No configuration-based workarounds are available. As an interim measure, organizations should implement network controls to restrict untrusted users from uploading or supplying ICC profile files to systems running vulnerable iccDEV versions until patching is complete (GitHub Advisory, GitHub PR #423).

Community reactions

The vulnerability was reported by security researcher xsscx on December 29, 2025, and fixed by contributor ChrisCoxArt with a patch merged on January 3, 2026. The fix was noted to address insufficient earlier checks, with multiple pointer dereferences corrected in CIccProfileXml::ParseBasic(). Community reaction has been limited given the niche scope of the iccDEV library, with no significant media coverage or broad social media discussion observed (GitHub PR #423, GitHub Advisory).

Additional resources


SourceThis report was generated using AI

Related Homebrew vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-73939HIGH8.6
  • Homebrew logoHomebrew
  • helidon
NoNoAug 18, 2026
CVE-2026-73937HIGH8.2
  • Homebrew logoHomebrew
  • helidon
NoNoAug 18, 2026
CVE-2026-73938HIGH7.5
  • Homebrew logoHomebrew
  • helidon
NoNoAug 18, 2026
CVE-2026-73936HIGH7.5
  • Homebrew logoHomebrew
  • helidon
NoNoAug 18, 2026
CVE-2026-73935HIGH7.5
  • Homebrew logoHomebrew
  • helidon
NoNoAug 18, 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

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