CVE-2026-24403: 
Homebrew vulnerability analysis and mitigation

Overview

CVE-2026-24403 is an integer overflow vulnerability in the iccDEV library's CIccProfile::CheckHeader() function, affecting versions 2.3.1.1 and below. The flaw arises when user-controllable input is incorporated into ICC color management profile data unsafely, allowing tampering with tag tables, offsets, or size fields to trigger parsing errors, memory corruption, or denial of service — and potentially arbitrary code execution. It was disclosed on January 24, 2026, and patched in version 2.3.1.2. The CVSS v3.1 base score is 8.8 (High) per NVD, while the GitHub Security Advisory scores it 7.1 (High) (GitHub Advisory, Red Hat CVE).

Technical details

The root cause is a signed integer overflow (CWE-190) combined with improper input validation (CWE-20) in IccProfLib/IccProfile.cpp at line 1627, within the icValidateStatus CIccProfile::CheckHeader() function. Specifically, the multiplication m_Header.biSpectralRange.steps * m_Header.spectralRange.steps is performed as a signed int, which can overflow when large values (e.g., 56797 × 65535) are supplied in a crafted ICC profile — a condition detected by UndefinedBehaviorSanitizer during libFuzzer testing. The fix involves casting the operands to icUInt32Number before multiplication to prevent the overflow. An attacker exploits this by crafting a malicious ICC color profile file and delivering it to a victim who opens or processes it with an application using the vulnerable library (GitHub Issue #505, GitHub Advisory).

Impact

Successful exploitation can result in denial of service via application crashes, memory corruption leading to unpredictable behavior, and potentially arbitrary code execution in contexts where vulnerable native libraries process the malformed profile. Confidentiality impact is rated None by the GitHub advisory (though NVD rates it High), integrity impact is Low, and availability impact is High. Applications that automatically process ICC profiles — such as image editors, document renderers, or color management pipelines — are at elevated risk, particularly if they accept profiles from untrusted sources (GitHub Advisory, Red Hat CVE).

Exploitability

A proof-of-concept issue demonstrating the vulnerability is publicly available on GitHub (Issue #505), discovered via libFuzzer with UndefinedBehaviorSanitizer. 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.071%, indicating low near-term exploitation probability. Exploitation requires user interaction — a victim must open or process a maliciously crafted ICC profile — but no authentication or special privileges are required (GitHub Issue #505, Feedly).

Exploitation steps

  1. Craft a malicious ICC profile: Create a binary ICC color profile file with manipulated biSpectralRange.steps and spectralRange.steps header fields set to large values (e.g., 56797 and 65535) that, when multiplied as signed integers, produce an overflow in IccProfile.cpp:1627.
  2. Deliver the payload: Distribute the malicious .icc or .icm file via email attachment, web download, or embedded in an image/document, targeting users of applications that use the iccDEV library (versions ≤ 2.3.1.1).
  3. Trigger profile parsing: Induce the victim to open the file with a vulnerable application (e.g., an image editor or color management tool), causing CIccProfile::CheckHeader() to process the malformed header fields.
  4. Trigger integer overflow: The multiplication of the two large step values overflows the signed int type, resulting in undefined behavior — potentially corrupting memory adjacent to the calculation.
  5. Achieve impact: Depending on memory layout and application context, the overflow may cause a crash (DoS), corrupt heap/stack memory, or in favorable conditions, redirect execution flow to attacker-controlled code (GitHub Issue #505, GitHub Advisory).

Indicators of compromise

  • File System: Unexpected or untrusted .icc or .icm files in user download directories, temp folders, or email attachment staging areas; ICC profile files with unusually large biSpectralRange.steps or spectralRange.steps header values.
  • Process: Application crashes or abnormal termination of image processing or color management software (e.g., segmentation faults, SIGABRT) when opening ICC profile files; child processes spawned unexpectedly from image-processing applications.
  • Logs: UndefinedBehaviorSanitizer or AddressSanitizer output referencing IccProfLib/IccProfile.cpp:1627 with messages such as runtime error: signed integer overflow; crash dumps from applications processing ICC profiles.
  • Network: Downloads of .icc or .icm files from untrusted or newly registered domains; unusual outbound connections from image-processing applications following profile parsing (GitHub Issue #505).

Mitigation and workarounds

Upgrade iccDEV to version 2.3.1.2 or later, which resolves the integer overflow by casting the multiplication operands to icUInt32Number before the comparison in IccProfile.cpp:1627. No official workarounds are provided by the vendor. As interim mitigations, organizations should restrict applications from processing ICC profiles from untrusted sources, implement input validation at the application layer, and consider sandboxing color profile processing operations (GitHub Advisory, GitHub Commits).

Community reactions

The vulnerability was reported by security researcher xsscx via libFuzzer testing and credited to ChrisCoxArt for remediation in the GitHub advisory. Red Hat has acknowledged the CVE and published a tracking entry. CISA included it in a weekly vulnerability bulletin (SB26-026). Community discussion has been limited, with no major media coverage or significant social media amplification observed beyond automated CVE tracking feeds (GitHub Advisory, Red Hat CVE).

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