CVE-2026-27691
Signed Integer Overflow in iccDEV Causes Crashes, Profile Errors
Publication date: 2026-02-25
Last updated on: 2026-02-26
Assigner: GitHub, Inc.
Description
Description
CVSS Scores
EPSS Scores
| Probability: | |
| Percentile: |
Meta Information
Affected Vendors & Products
| Vendor | Product | Version / Range |
|---|---|---|
| color | iccdev | to 2.3.1.4 (inc) |
Helpful Resources
Exploitability
| CWE ID | Description |
|---|---|
| CWE-681 | When converting from one data type to another, such as long to integer, data can be omitted or translated in a way that produces unexpected values. If the resulting values are used in a sensitive context, then dangerous behaviors may occur. |
| CWE-190 | The product performs a calculation that can produce an integer overflow or wraparound when the logic assumes that the resulting value will always be larger than the original value. This occurs when an integer value is incremented to a value that is too large to store in the associated representation. When this occurs, the value may become a very small or negative number. |
Attack-Flow Graph
AI Powered Q&A
How does this vulnerability affect compliance with common standards and regulations (like GDPR, HIPAA)?:
I don't know
Can you explain this vulnerability to me?
CVE-2026-27691 is a vulnerability in the iccDEV package, specifically in the function parse3DTable() within the file iccFromCube.cpp. It involves a signed integer overflow during a multiplication operation, which causes undefined behavior. This overflow happens when processing specially crafted or large cube inputs, potentially leading to application crashes or incorrect generation of ICC color profiles.
The root cause is that the multiplication produces a value that exceeds the storage capacity of the integer type, triggering undefined behavior such as very small or negative numbers. This is categorized under CWE-190 (Integer Overflow or Wraparound) and CWE-681 (Incorrect Conversion between Numeric Types). The vulnerability affects versions of iccDEV up to and including 2.3.1.4 and was fixed in a later commit.
How can this vulnerability impact me? :
The primary impact of this vulnerability is on availability. The signed integer overflow can cause the application to crash when processing maliciously crafted or large ICC profile cube inputs, resulting in a denial of service.
There is no known impact on confidentiality or integrity, meaning no data leaks or unauthorized data modifications are associated with this vulnerability. The attack requires local access but no privileges or user interaction, and the attack complexity is low.
How can this vulnerability be detected on my network or system? Can you suggest some commands?
[{'type': 'paragraph', 'content': "This vulnerability can be detected by running the iccFromCube tool with a specially crafted ICC profile file that triggers the signed integer overflow in the parse3DTable() function. For example, using a crafted ICC profile such as 'ub_sio_parse3Dtable-IccFromCube_cpp-Line218.icc' causes the tool to crash due to the overflow."}, {'type': 'paragraph', 'content': 'Detection involves observing application crashes or undefined behavior when processing large or specially crafted cube inputs with iccDEV versions up to 2.3.1.4.'}, {'type': 'paragraph', 'content': 'A suggested command to reproduce and detect the issue is to run the iccFromCube tool on a crafted ICC profile file, for example:'}, {'type': 'list_item', 'content': '`./iccFromCube ub_sio_parse3Dtable-IccFromCube_cpp-Line218.icc`'}, {'type': 'paragraph', 'content': 'This command, when run in a debug build with sanitizers enabled (such as UndefinedBehaviorSanitizer), will trigger the overflow and cause a runtime error at iccFromCube.cpp line 218.'}] [2]
What immediate steps should I take to mitigate this vulnerability?
The immediate mitigation step is to upgrade the iccDEV package to version 2.3.1.4 or later, where the vulnerability has been fixed.
The fix includes strict input validation, overflow prevention, and improved error handling in the parse3DTable() function to prevent integer overflows and crashes.
No known workarounds are available, so applying the official patch or updating to the fixed version is necessary to mitigate the risk.