CVE-2026-24407
Homebrew vulnerability analysis and mitigation

Overview

CVE-2026-24407 is an undefined behavior vulnerability in the icSigCalcOp() function of iccDEV, a library and toolset for interacting with ICC color management profiles maintained by the International Color Consortium. It affects all versions up to and including 2.3.1.1, where user-controllable input can be unsafely incorporated into ICC profile data or structured binary blobs. The vulnerability was reported on January 19, 2026, and publicly disclosed on January 24, 2026, with a fix released in version 2.3.1.2. It carries a CVSS v3.1 base score of 8.8 (High) per Feedly/NVD, though the GitHub Security Advisory scores it at 7.1 (High) (GitHub Advisory, Red Hat CVE).

Technical details

The root cause is classified under CWE-20 (Improper Input Validation) and CWE-758 (Reliance on Undefined, Unspecified, or Implementation-Defined Behavior). Specifically, the icSigCalcOp enum in IccProfLib/IccMpeCalc.cpp (line 3928) did not define a sufficiently large range, allowing a crafted ICC profile to supply an integer value (e.g., 2509398899) that falls outside the valid enum range, triggering undefined behavior at runtime. An attacker can exploit this by crafting a malicious ICC profile file with out-of-range opcode values and delivering it to a victim application that processes ICC profiles using the iccDEV library — requiring user interaction (e.g., opening an image or document). The fix expanded the icSigCalcOp enum range by adding sentinel values icSigNullDataOp = 0x00000000 and icSigLastValueRangeOp = 0xffffffff in IccProfLib/IccMpeCalc.h (GitHub Issue, Patch Commit).

Impact

Successful exploitation can result in denial of service, data manipulation, application logic bypass, and potentially arbitrary code execution in contexts where vulnerable native libraries process the malformed ICC profile. The vulnerability can trigger parsing errors or memory corruption in downstream image-processing libraries that depend on iccDEV, affecting confidentiality, integrity, and availability. The network-accessible attack vector means any application that accepts remotely-supplied ICC profile data is at risk, broadening the potential attack surface beyond local file processing (GitHub Advisory).

Exploitability

A proof-of-concept exploit in the form of a crafted ICC profile file (ub-load-of-value-not-valid-icSigCalcOp.icc) is publicly available via the GitHub issue tracker and the reporter's Commodity Injection Signatures repository. There is no current evidence of in-the-wild exploitation or threat actor attribution. The vulnerability is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog. The EPSS score is approximately 0.064%, indicating a low but non-zero probability of exploitation in the near term (GitHub Issue, Feedly).

Exploitation steps

  1. Craft malicious ICC profile: Create or download a specially crafted ICC profile file containing an out-of-range icSigCalcOp enum value (e.g., 0x95A5A573 / decimal 2509398899) in the calculator element opcode field. A ready-made PoC file is available at https://github.com/xsscx/Commodity-Injection-Signatures/raw/refs/heads/master/graphics/icc/ub-load-of-value-not-valid-icSigCalcOp.icc.
  2. Identify target: Locate applications that use iccDEV versions ≤ 2.3.1.1 to process ICC profiles — such as image editors, document processors, or color management tools.
  3. Deliver the malicious profile: Deliver the crafted .icc file to the target user via email attachment, malicious website, or embedded in an image/document, exploiting the required user interaction (e.g., opening the file).
  4. Trigger undefined behavior: When the application processes the ICC profile using iccRoundTrip or similar iccDEV tooling, the icSigCalcOp() function at IccProfLib/IccMpeCalc.cpp:3928 loads the invalid enum value, triggering undefined behavior.
  5. Achieve impact: Depending on the platform, compiler, and application context, the undefined behavior may result in a crash (DoS), memory corruption, logic bypass, or — in favorable conditions — arbitrary code execution (GitHub Issue, GitHub Advisory).

Indicators of compromise

  • File System: Presence of unexpected .icc files with anomalous binary content, particularly those containing opcode values outside the valid icSigCalcOp enum range (e.g., values near 0x95A5A573).
  • Logs: Application crash logs or sanitizer output referencing IccProfLib/IccMpeCalc.cpp:3928 with messages such as runtime error: load of value 2509398899, which is not a valid value for type 'icSigCalcOp'.
  • Process: Unexpected crashes or abnormal termination of image-processing or color management applications after opening ICC profile files; UBSan (Undefined Behavior Sanitizer) runtime error output from iccDEV-linked processes.
  • Network: Downloads of .icc files from untrusted or unexpected external sources, particularly files matching the known PoC filename ub-load-of-value-not-valid-icSigCalcOp.icc (GitHub Issue).

Mitigation and workarounds

The vulnerability is fixed in iccDEV version 2.3.1.2, released by the International Color Consortium. Organizations should upgrade all instances of iccDEV from version 2.3.1.1 or below to version 2.3.1.2 or later immediately. No official workarounds are provided by the vendor; as an interim measure, restrict processing of ICC profiles from untrusted or external sources and limit user exposure to potentially malicious color profile files until patching is complete (GitHub Advisory, Patch Commit).

Community reactions

Red Hat has acknowledged the vulnerability and published a CVE tracking page. The CISA weekly vulnerability bulletin (SB26-026) for the week of January 19, 2026 included this CVE. Community discussion has been limited, with the primary technical disclosure occurring through the GitHub issue tracker and security advisory. No significant independent researcher commentary or major media coverage has been identified beyond automated vulnerability aggregators (Red Hat CVE, CISA Bulletin).

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-72898CRITICAL10
  • NixOS logoNixOS
  • metabase
YesYesAug 10, 2026
CVE-2026-68968HIGH7.5
  • Homebrew logoHomebrew
  • airflow
NoYesAug 12, 2026
CVE-2026-34502HIGH7.5
  • NixOS logoNixOS
  • apr-util-nss
NoYesAug 06, 2026
CVE-2026-68971MEDIUM6.5
  • Homebrew logoHomebrew
  • airflow
NoYesAug 12, 2026
CVE-2026-68969MEDIUM6.5
  • Homebrew logoHomebrew
  • airflow
NoYesAug 12, 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