CVE-2026-21507: 
Homebrew vulnerability analysis and mitigation

Overview

CVE-2026-21507 is a Denial of Service vulnerability caused by an infinite loop in the CalcProfileID() function within IccProfile.cpp of the iccDEV library. iccDEV is an open-source set of libraries and tools maintained by the International Color Consortium for working with ICC color management profiles. Versions 2.3.1 and below are affected; the issue was discovered via fuzzing and reported on November 26, 2025, with the security advisory published on January 3–6, 2026. The vulnerability carries a CVSS v3.1 base score of 7.5 (High) (GitHub Advisory, Feedly).

Technical details

The root cause is classified as CWE-835 (Loop with Unreachable Exit Condition). In the CalcProfileID() function in IccProfLib/IccProfile.cpp, when processing a specially crafted ICC profile, the pIO->Read8() call can return num == 0 while len remains non-zero, causing the while(len) loop to iterate indefinitely without making progress. The fix adds a break statement when num == 0 is detected, preventing the infinite loop. The vulnerability was discovered through fuzzing of XML-based ICC profile inputs (via iccFromXML), and the triggering condition was confirmed with multiple fuzzed sRGB D65 XML files (GitHub Issue, Patch Commit).

Impact

Successful exploitation causes a Denial of Service by locking the affected application in an infinite loop, exhausting CPU resources and rendering the application unresponsive or causing it to hang indefinitely. There is no confidentiality or integrity impact — the vulnerability is limited to availability. Any application or service that processes ICC color profiles using iccDEV versions ≤ 2.3.1 and accepts profile data from untrusted network sources is at risk (GitHub Advisory, Feedly).

Exploitability

A proof-of-concept is publicly available via the GitHub issue tracker, consisting of fuzzed XML ICC profile files that reliably trigger the infinite loop. No active in-the-wild exploitation has been observed as of the time of reporting. The vulnerability requires no authentication, no user interaction, and is network-accessible, making it trivially exploitable against any exposed service processing ICC profiles. The EPSS score is approximately 0.038% (low probability of near-term exploitation), and the vulnerability is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog (GitHub Issue, Feedly).

Exploitation steps

  1. Identify target: Locate a service or application that accepts ICC color profile input and uses iccDEV version ≤ 2.3.1 for processing (e.g., image processing pipelines, color management services).
  2. Craft malicious ICC profile: Create or obtain a specially crafted XML-based ICC profile (e.g., an sRGB D65 colorimetric XML file) that causes pIO->Read8() to return num == 0 while len remains non-zero during CalcProfileID() processing.
  3. Submit the profile: Send the malicious ICC profile to the target application via any supported input channel (file upload, API endpoint, network service).
  4. Trigger infinite loop: The CalcProfileID() function enters an infinite loop, consuming 100% CPU on the processing thread and causing the application to hang indefinitely.
  5. Achieve DoS: The target application becomes unresponsive, effectively denying service to legitimate users until the process is manually killed or the system is restarted (GitHub Issue, Patch Commit).

Indicators of compromise

  • Process: Application process consuming sustained 100% CPU with no progress, particularly processes invoking iccFromXML or ICC profile processing functions.
  • Logs: Application logs showing a hang or timeout during ICC profile ID calculation; absence of expected completion log entries after profile submission.
  • File System: Presence of unexpected or malformed XML ICC profile files (e.g., sRGB D65 colorimetric XML files with unusual structure) in upload or processing directories.
  • Network: Repeated submissions of ICC profile data to processing endpoints from the same source IP, potentially indicating automated fuzzing or DoS attempts (GitHub Issue).

Mitigation and workarounds

Upgrade iccDEV to version 2.3.1.1 or later (patched in commit 3f3ce78), which adds a break condition when pIO->Read8() returns zero to prevent the infinite loop. No official workaround is provided by the vendor for unpatched versions. As interim mitigations, operators should implement input validation to reject malformed or unexpected ICC profile files before processing, apply network segmentation to limit exposure of profile-processing services, and monitor for abnormal CPU consumption in ICC-processing applications (GitHub Advisory, Patch Commit).

Community reactions

The vulnerability was noted in the CISA weekly vulnerability bulletin for the week of January 5, 2026, indicating it received routine government tracking attention. Social media coverage was limited, with brief mentions on Bluesky by security news aggregators. No significant vendor statements or notable researcher commentary beyond the original GitHub issue and advisory have been identified (CISA Bulletin, 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