Skip to main content

Iccdev CVE-2026-34540

MEDIUM
Heap-based Buffer Overflow (CWE-122)
2026-03-31 security-advisories@github.com
6.2
CVSS 3.1 · GitHub Advisory
View

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.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
No patch listed yet 0.0% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

GitHub Advisory PRIMARY 6.2 MEDIUM
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

Attack Vector
Local
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
High

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

EPSS Score
0.0%
Top 98% exploitable
Data Quality
4 sources
Confidence: Medium
NVD CVE.org EPSS Vulnrichment GitHub

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.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.0%
Patch available No
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
Poc
System Exposure· derived
Small
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

31
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +31
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

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

cpe:2.3:a:color:iccdev:*:*:*:*:*:*:*:*

More in Iccdev

View all
CVE-2026-21675 CRITICAL POC
9.8 Jan 06

iccDEV ICC color profile library (through 2.3.1) has a use-after-free in CIccXform::Create() when processing hint object

CVE-2026-24412 HIGH POC
8.8 Jan 24

Heap buffer overflow in iccDEV versions 2.3.1.1 and below allows remote code execution through maliciously crafted ICC c

CVE-2026-24406 HIGH POC
8.8 Jan 24

Heap buffer overflow in iccDEV versions 2.3.1.1 and below allows remote code execution when processing maliciously craft

CVE-2026-24405 HIGH POC
8.8 Jan 24

Heap buffer overflow in iccDEV versions 2.3.1.1 and earlier allows remote code execution through maliciously crafted ICC

CVE-2026-21688 HIGH POC
8.8 Jan 07

Type confusion in iccDEV library versions before 2.3.1.2 allows unauthenticated attackers to achieve remote code executi

CVE-2026-21677 HIGH POC
8.8 Jan 06

iccDEV color management library versions 2.3.1 and earlier contain undefined behavior in the CLUT initialization functio

CVE-2026-21485 HIGH POC
8.8 Jan 06

iccDEV ICC color profile libraries versions 2.3.1.1 and earlier suffer from undefined behavior and out-of-memory errors

CVE-2026-22047 HIGH POC
8.8 Jan 07

Heap buffer overflow in iccDEV versions before 2.3.1.2 allows remote code execution when processing malicious ICC color

CVE-2026-21693 HIGH POC
8.8 Jan 07

Type confusion in iccDEV versions before 2.3.1.2 allows attackers to corrupt memory and achieve high-impact outcomes inc

CVE-2026-21692 HIGH POC
8.8 Jan 07

Type confusion in iccDEV versions before 2.3.1.2 allows unauthenticated attackers to achieve remote code execution throu

CVE-2026-21682 HIGH POC
8.8 Jan 07

Heap buffer overflow in iccDEV versions before 2.3.1.2 allows remote code execution when processing malicious ICC color

CVE-2026-21679 HIGH POC
8.8 Jan 07

Heap buffer overflow in iccDEV versions prior to 2.3.1.2 allows remote attackers to execute arbitrary code through the C

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy