CVE-2026-21691: 
Homebrew vulnerability analysis and mitigation

Overview

CVE-2026-21691 is a Type Confusion vulnerability in the CIccTag::IsTypeCompressed() function of iccDEV, a library for interacting with International Color Consortium (ICC) color management profiles. It was reported on December 31, 2025, patched on January 4, 2026, and publicly disclosed on January 7, 2026. All iccDEV versions prior to 2.3.1.2 are affected. The vulnerability carries a CVSS v3.1 base score of 5.4 (Medium) per the GitHub Security Advisory, though Feedly also references a score of 6.5 (Medium) under a different vector (GitHub Advisory, Feedly).

Technical details

The root cause is an improper handling of the icDataBlockType enum in IccProfLib/IccTagBasic.h at line 1299, where the enum lacked a defined size and range, allowing an out-of-range value (e.g., 16777216) to be loaded — triggering undefined behavior detected by UndefinedBehaviorSanitizer (UBSan) (GitHub Issue). The vulnerability is classified under CWE-843 (Type Confusion), CWE-476 (NULL Pointer Dereference), CWE-697 (Incorrect Comparison), and CWE-20 (Improper Input Validation) (GitHub Advisory). Exploitation requires a user or application to process a specially crafted malicious ICC color profile file, which can be delivered over the network. The fix involved giving the icDataBlockType enum an explicit size and defined range, initializing the field in the class constructor, and testing individual bits rather than specific values during XML parsing/writing (GitHub PR).

Impact

Successful exploitation results in undefined behavior that can cause integrity corruption and temporary unavailability of the affected application processing the malicious ICC profile; there is no confidentiality impact. The vulnerability has low integrity and low availability impact per the CVSS scoring, meaning it does not enable remote code execution or data exfiltration in typical scenarios (GitHub Advisory). The scope is limited to applications and systems that use the iccDEV library to process ICC color profiles, with no known potential for lateral movement.

Exploitability

A proof-of-concept (PoC) ICC profile file (ub-icDataBlockType-IccTagBasic_h-L1299.icc) is publicly available on GitHub and was used to reproduce the issue during initial disclosure (GitHub Issue). There is no evidence of in-the-wild exploitation, and the vulnerability is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog. The EPSS score is approximately 0.04%, indicating a very low probability of exploitation in the near term (Feedly). No threat actor attribution has been reported.

Exploitation steps

  1. Craft or obtain a malicious ICC profile: Use the publicly available PoC file (ub-icDataBlockType-IccTagBasic_h-L1299.icc) from the xsscx Commodity Injection Signatures repository, or craft a custom ICC profile with an out-of-range icDataBlockType value (e.g., 16777216) in the relevant tag field.
  2. Deliver the malicious profile: Distribute the crafted ICC profile to a target user via email attachment, web download, or any channel that results in the file being processed by an application using a vulnerable version of iccDEV (< 2.3.1.2).
  3. Trigger processing: Induce the target user or automated system to open or process the malicious ICC profile — for example, by running iccToXml <malicious.icc> output.xml or through any application that internally calls CIccTag::IsTypeCompressed().
  4. Observe undefined behavior: The type confusion in IccTagBasic.h:1299 is triggered, causing UBSan-detectable undefined behavior (load of value 16777216, which is not a valid value for type 'icDataBlockType'), potentially resulting in application instability or data integrity issues (GitHub Issue).

Indicators of compromise

  • File System: Presence of unexpected or externally sourced .icc files, particularly those with unusual file sizes or metadata inconsistent with legitimate color profiles.
  • Logs: Application crash logs or UBSan/sanitizer output referencing IccTagBasic.h:1299 with messages such as load of value 16777216, which is not a valid value for type 'icDataBlockType'; SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior.
  • Process: Unexpected termination or instability of applications invoking iccToXml or other iccDEV-based tools when processing ICC profile files from untrusted sources (GitHub Issue).

Mitigation and workarounds

Upgrade iccDEV to version 2.3.1.2 or later, which contains the fix merged via pull request #426 on January 4, 2026 (GitHub PR). No workarounds are available; patching is the only effective remediation (GitHub Advisory). As an interim measure, restrict processing of ICC color profiles from untrusted or external sources, and implement network segmentation to limit exposure of systems running vulnerable iccDEV versions.

Community reactions

The vulnerability was reported by security researcher xsscx and remediated by ChrisCoxArt (a contributor to the iccDEV project), with the fix merged within days of the initial report (GitHub PR). The issue received routine coverage from automated CVE tracking services and vulnerability databases, with no notable broader media coverage or significant community discussion beyond the GitHub repository.

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-112390HIGH8.2
  • Python logoPython
  • open-webui
NoYesOct 19, 2026
CVE-2026-14511MEDIUM6.5
  • IBM WebSphere MQ logoIBM WebSphere MQ
  • cpe:2.3:a:ibm:mq
NoNoOct 19, 2026
CVE-2026-112778MEDIUM6.4
  • NixOS logoNixOS
  • traefik
NoYesOct 19, 2026
CVE-2026-112391MEDIUM6.3
  • Python logoPython
  • nemo-gym
NoYesOct 19, 2026
CVE-2026-111678MEDIUM4.8
  • NixOS logoNixOS
  • antiword
NoNoOct 16, 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