CVE-2026-21684: 
Homebrew vulnerability analysis and mitigation

Overview

CVE-2026-21684 is an undefined behavior vulnerability in the CIccTagSpectralViewingConditions() function of the iccDEV library, a set of libraries and tools for interacting with International Color Consortium (ICC) color management profiles. It affects iccDEV versions prior to 2.3.1.2 and was discovered by researcher xsscx, reported on November 21, 2025, with a fix merged on November 24, 2025, and formally disclosed on January 7, 2026. The vulnerability carries a CVSS v3.1 base score of 7.1 (High) (GitHub Advisory, Feedly).

Technical details

The root cause is a reliance on undefined behavior (CWE-758) combined with improper input validation (CWE-20) in the CIccTagSpectralViewingConditions() copy constructor within IccProfLib/IccUtil.cpp at line 555. Specifically, the code performs a floating-point-to-integer conversion where the floating-point value is -nan (Not a Number), which is outside the representable range of int, triggering undefined behavior as detected by UndefinedBehaviorSanitizer (UBSan). An attacker can craft a malicious ICC color profile file that, when processed by an application using the iccDEV library, triggers this undefined behavior path. The fix involved correcting the copy constructors for CIccTagSpectralViewingConditions in pull request #225 (GitHub Issue, GitHub PR).

Impact

Successful exploitation requires user interaction — a user or application must process a maliciously crafted ICC color profile. The primary impact is high availability loss (denial of service via application crash or undefined behavior) and low integrity impact, with no confidentiality impact. Applications and services that automatically process user-supplied or externally sourced ICC profiles are at greatest risk, as the undefined behavior can lead to unpredictable program states beyond simple crashes (GitHub Advisory, Feedly).

Exploitability

A proof-of-concept demonstrating the issue is publicly available via GitHub Issue #216, which includes a reproducible test case using the Cat8Lab-D65_2degMeta.icc profile and the iccRoundTrip tool built with AddressSanitizer and UBSan (GitHub Issue). There is no evidence of 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% (0.000550), indicating a low probability of exploitation in the near term (Feedly).

Exploitation steps

  1. Craft a malicious ICC profile: Create or obtain an ICC color profile that contains spectral viewing conditions data designed to produce a NaN floating-point value during processing (e.g., using the publicly referenced Cat8Lab-D65_2degMeta.icc as a basis).
  2. Deliver the profile: Distribute the malicious .icc file to a target user or upload it to a service that automatically processes ICC profiles using the iccDEV library (versions prior to 2.3.1.2).
  3. Trigger processing: Induce the target application to load and parse the malicious ICC profile, causing execution to reach the CIccTagSpectralViewingConditions() constructor.
  4. Trigger undefined behavior: The NaN-to-int conversion at IccProfLib/IccUtil.cpp:555 triggers undefined behavior, potentially causing a crash (denial of service) or unpredictable program state (GitHub Issue, GitHub Advisory).

Indicators of compromise

  • File System: Presence of unexpected or externally sourced .icc profile files in directories processed by applications using iccDEV; specifically profiles with anomalous spectral viewing conditions tags.
  • Logs: Application crash logs or core dumps referencing IccProfLib/IccUtil.cpp:555; UBSan runtime error messages such as runtime error: -nan is outside the range of representable values of type 'int'.
  • Process: Unexpected termination or crash of applications that process ICC color profiles; abnormal exits from tools such as iccRoundTrip, iccApplyProfiles, or similar iccDEV-based utilities when processing user-supplied profiles (GitHub Issue).

Mitigation and workarounds

Upgrade iccDEV to version 2.3.1.2 or later, which contains the fix for the undefined behavior in CIccTagSpectralViewingConditions() (PR #225, merged November 24, 2025). No workarounds are available for unpatched versions. Organizations should prioritize patching systems that process untrusted or externally sourced ICC color profiles, and consider validating ICC profile inputs at the application layer as a defense-in-depth measure (GitHub Advisory, GitHub PR).

Community reactions

The vulnerability received limited but focused attention from the security community, with automated CVE tracking services (CIRCL, VulDB, Vulners, CVEFeed) picking up the disclosure shortly after publication. A CISA vulnerability bulletin (SB26-012) for the week of January 5, 2026 referenced the CVE. Social media activity was minimal, with a Bluesky post from an automated CVE tracking account noting the disclosure (Feedly).

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