CVE-2026-34540
Homebrew vulnerability analysis and mitigation

Overview

CVE-2026-34540 is a heap-based buffer overflow (HBO) vulnerability in iccDEV, a set of libraries and tools for working with ICC color management profiles published by the International Color Consortium. Prior to version 2.3.1.6, a crafted ICC profile can trigger an out-of-bounds heap read in the icMemDump() function at IccProfLib/IccUtil.cpp:1002, reachable via CIccTagUnknown::Describe(), when iccDumpProfile attempts to dump or describe malformed tag contents. The vulnerability was reported on March 13, 2026, patched on March 15, 2026, and publicly disclosed on March 28–31, 2026. It carries a CVSS v3.1 base score of 5.5 (Medium) per NVD, or 6.2 (Medium) per the GitHub Security Advisory (GitHub Advisory, Red Hat CVE).

Technical details

The root cause is classified as CWE-122 (Heap-based Buffer Overflow): the icMemDump() function in IccProfLib/IccUtil.cpp did not properly enforce bounds when reading tag data from a malformed ICC profile, allowing a read of one byte past the end of a heap-allocated 3-byte buffer. The vulnerable code path is triggered when iccDumpProfile processes an ICC profile containing an unknown tag type (CIccTagUnknown), which calls CIccTagUnknown::Describe(), which in turn calls icMemDump() with an incorrect offset calculation. The fix, merged in PR #689, removed a pointless offset from the Describe() call to prevent reading past the allocated buffer. A crafted .icc file and reproduction steps are publicly available in GitHub Issue #674 (GitHub Issue, GitHub Advisory, GitHub PR).

Impact

Successful exploitation results in a process crash (denial of service) due to an out-of-bounds heap read; there is no confidentiality or integrity impact. A local user who can supply or manipulate ICC color profile files processed by iccDumpProfile can reliably crash the application. The scope is limited to the affected process, with no evidence of code execution potential or lateral movement risk (GitHub Advisory, Red Hat CVE).

Exploitability

A proof-of-concept exploit is publicly available on GitHub (Issue #674), consisting of a crafted .icc file and concrete reproduction steps using AddressSanitizer. The EPSS score is approximately 0.012% (0.000120), indicating very low probability of widespread exploitation. There is no evidence of in-the-wild exploitation, no known threat actor attribution, and this CVE is not listed in the CISA Known Exploited Vulnerabilities catalog (GitHub Issue, Red Hat CVE).

Exploitation steps

  1. Obtain the crafted ICC profile: Download the malicious ICC file from the public fuzzing repository: wget https://github.com/xsscx/fuzz/raw/refs/heads/master/graphics/icc/hbo-icMemDump-IccUtil_cpp-Line1002.icc
  2. Target a vulnerable installation: Confirm the target system is running iccDEV version prior to 2.3.1.6 (e.g., version 2.3.1.5).
  3. Execute iccDumpProfile with the crafted file: Run the tool against the malformed profile: ASAN_OPTIONS=print_scariness=1:halt_on_error=0:abort_on_error=0:print_full_stacktrace=1:detect_leaks=0 iccDumpProfile -v 100 hbo-icMemDump-IccUtil_cpp-Line1002.icc ALL
  4. Trigger the overflow: The malformed profile contains an unknown tag type (colorSpaceNameTag with Unknown NULL type). When iccDumpProfile calls CIccTagUnknown::Describe()icMemDump() at IccUtil.cpp:1002, it reads 1 byte past the end of a 3-byte heap allocation, triggering the heap-buffer-overflow and crashing the process (GitHub Issue).

Indicators of compromise

  • File System: Presence of unexpected or externally sourced .icc files in directories processed by iccDumpProfile; specifically files with malformed tag structures (e.g., colorSpaceNameTag with Unknown NULL type and mismatched sizes).
  • Logs/Process: Crash reports or core dumps from the iccDumpProfile process; AddressSanitizer output referencing icMemDump at IccProfLib/IccUtil.cpp:1002 and CIccTagUnknown::Describe in stack traces.
  • Process: Abnormal termination of iccDumpProfile with exit code indicating abort (e.g., SIGABRT) when processing ICC profiles from untrusted sources (GitHub Issue).

Mitigation and workarounds

Update iccDEV to version 2.3.1.6 or later, which tightens bounds and length handling in icMemDump() to prevent out-of-bounds reads. The fix was merged on March 15, 2026 (PR #689) and released on March 28, 2026. No official workarounds are provided; as interim measures, restrict access to ICC profile processing functionality and avoid processing ICC profiles from untrusted or unverified sources. Update via package manager: npm update iccdev, brew update iccdev, or pull the latest Docker image ghcr.io/internationalcolorconsortium/iccdev:latest (GitHub Advisory, GitHub PR).

Community reactions

The vulnerability was discovered and reported by researcher xsscx through fuzzing with AFL++ 4.36a, and the fix was developed by ChrisCoxArt (a project contributor). The issue was triaged and patched rapidly — from report (March 13) to merge (March 15) to public advisory (March 28) — reflecting a responsive disclosure process. No significant broader media coverage or notable community commentary beyond the GitHub issue and advisory has been observed (GitHub Issue, GitHub Advisory).

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-75874CRITICAL10
  • NixOS logoNixOS
  • cpe:2.3:a:mozilla:firefox
NoYesAug 18, 2026
CVE-2026-74990CRITICAL9.8
  • NixOS logoNixOS
  • cpe:2.3:a:mozilla:firefox
NoYesAug 18, 2026
CVE-2026-74989CRITICAL9.8
  • NixOS logoNixOS
  • cpe:2.3:a:mozilla:firefox
NoYesAug 18, 2026
CVE-2026-74988CRITICAL9.8
  • NixOS logoNixOS
  • thunderbird
NoYesAug 18, 2026
CVE-2026-73896MEDIUM6.5
  • Homebrew logoHomebrew
  • helidon
NoNoAug 18, 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