Iccdev
CVE-2026-34540
MEDIUM
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Heap buffer bounds checking
MITRE ATT&CK
1 technique across 1 tactic: Execution The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Impact | The CVSS 3.1 score of 6.2 reflects moderate risk with a local attack vector (AV:L), low complexity (AC:L), no privileges required (PR:N), no user interaction (UI:N), and impact limited to availability (A:H with C:N, I:N). While CVSS indicates the vulnerability is exploitable, the local-only attack vector significantly constrains real-world impact compared to remote or network-adjacent variants. The EPSS score is not provided, but the combination of local attack requirement and read-only memory access (no code execution, no data modification) suggests this ranks below network-exploitable heap overflows in triage priority. The absence of KEV status and public exploit code further indicates this is not an active threat. However, organizations using iccDEV in automated profile-processing pipelines (e.g., image conversion tools, color management servers) should prioritize patching, as a denial-of-service impact could disrupt services if untrusted profiles are processed. The straightforward mitigation (upgrade to 2.3.1.6) makes this a standard patch-and-move-on priority rather than an emergency. |
| Exploit ScenarioDerived | An attacker with local file system access crafts a malicious ICC color profile with a malformed tag structure (e.g., a tag header declaring a length that exceeds actual allocated buffer size). When a local user or automated service running iccDEV processes this profile-such as via an image editing tool, color management utility, or batch conversion pipeline-iccDumpProfile invokes the profile description routine, which calls CIccTagUnknown::Describe() for unrecognized tags. This in turn calls icMemDump() to display tag contents, triggering the out-of-bounds heap read at line 1002. The process crashes due to heap corruption detected by memory protection mechanisms (or via AddressSanitizer in instrumented builds), resulting in denial of service. While the attacker cannot achieve code execution or data modification with this specific bug, repeated crashes could disrupt automated image processing workflows. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Mar 31, 2026
Heap buffer overflow in iccDEV prior to version 2.3.1.6 allows denial of service via a crafted ICC color profile that triggers out-of-bounds heap read in icMemDump() when iccDumpProfile processes malformed tag contents. The vulnerability affects local attackers without authentication or user interaction, though the practical attack surface depends on how iccDumpProfile is invoked in consuming applications. No public exploit code or active exploitation has been identified; the issue was discovered through code analysis and AddressSanitizer instrumentation.
RemediationAI
Vendor-released patch: iccDEV 2.3.1.6. Applications using iccDEV must update to version 2.3.1.6 or later, which includes the fix to add proper bounds checking in the icMemDump() function when processing unknown tags. For projects using iccDEV as a dependency (via package managers or source inclusion), update the dependency version constraint to >=2.3.1.6. If immediate patching is not feasible, restrict processing of ICC profiles to trusted, internally-vetted sources and avoid exposing iccDumpProfile or profile-reading functionality to untrusted input sources. Detailed patch information and changes are available in the upstream pull request at https://github.com/InternationalColorConsortium/iccDEV/pull/689, and the original vulnerability report is documented at https://github.com/InternationalColorConsortium/iccDEV/issues/674.
Affects your stack
Find out whether the stacks and servers you run are on an affected version.
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
iccDEV is a library suite for ICC color profile manipulation that parses and describes ICC color management profiles used in image processing pipelines. The vulnerability resides in the IccProfLib/IccUtil.cpp file at line 1002 within the icMemDump() function, which is called during profile dumping via CIccTagUnknown::Describe() when encountering unknown or malformed tag structures. The root cause is improper bounds checking on heap-allocated buffers (CWE-122: Heap-based Buffer Overflow) when reading tag content without validating the declared tag length against actual allocated memory. This allows a specially crafted ICC profile with malformed tag metadata to cause the buffer read operation to access memory beyond the intended heap allocation, triggering a crash or potential information disclosure depending on adjacent memory contents.
Know when Iccdev gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Primary rating from GitHub Advisory · only source for this CVE.
CVSS VectorGitHub Advisory
DescriptionGitHub Advisory
iccDEV provides a set of libraries and tools for working with ICC color management profiles. Prior to version 2.3.1.6, a crafted ICC profile can trigger a heap-buffer-overflow (HBO) in icMemDump() when iccDumpProfile attempts to dump/describe malformed tag contents. The issue is observable under AddressSanitizer as an out-of-bounds heap read in icMemDump(...) at IccProfLib/IccUtil.cpp:1002, reachable via CIccTagUnknown::Describe(). This issue has been patched in version 2.3.1.6.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
A buffer overflow occurs when a program writes more data to a memory buffer than it was allocated to hold, causing the excess data to spill into adjacent memory regions.
A heap overflow occurs when a program writes data beyond the bounds of a buffer allocated in the heap memory region.
Affected Products (CPE)GitHub Advisory
iccDEV ICC color profile library (through 2.3.1) has a use-after-free in CIccXform::Create() when processing hint object
Heap buffer overflow in iccDEV versions 2.3.1.1 and below allows remote code execution through maliciously crafted ICC c
Heap buffer overflow in iccDEV versions 2.3.1.1 and below allows remote code execution when processing maliciously craft
Heap buffer overflow in iccDEV versions 2.3.1.1 and earlier allows remote code execution through maliciously crafted ICC
Type confusion in iccDEV library versions before 2.3.1.2 allows unauthenticated attackers to achieve remote code executi
iccDEV color management library versions 2.3.1 and earlier contain undefined behavior in the CLUT initialization functio
iccDEV ICC color profile libraries versions 2.3.1.1 and earlier suffer from undefined behavior and out-of-memory errors
Heap buffer overflow in iccDEV versions before 2.3.1.2 allows remote code execution when processing malicious ICC color
Type confusion in iccDEV versions before 2.3.1.2 allows attackers to corrupt memory and achieve high-impact outcomes inc
Type confusion in iccDEV versions before 2.3.1.2 allows unauthenticated attackers to achieve remote code execution throu
Heap buffer overflow in iccDEV versions before 2.3.1.2 allows remote code execution when processing malicious ICC color
Heap buffer overflow in iccDEV versions prior to 2.3.1.2 allows remote attackers to execute arbitrary code through the C
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB