This vulnerability has been discovered by Claude and Ada Logics. This issue was found by Anthropic through the use of agents to study the security of open‑source projects. I am collaborating with Ada Logics to validate the findings and provide a fix. It has been manually verified by David Korczynski (Ada Logics), with AI assistance used during the discovery process.
Many thanks to the whole team for identifying and reporting the problem.
Risk assessment:
In short: a carefully crafted malicious CMYK ICC profile may trigger a stack buffer overflow under specific conditions. While the issue is technically exploitable, the practical requirements for a successful exploit are extremely unlikely.
The problem occurs only in black‑preserving CMYK‑to‑CMYK transforms. It requires a malicious output profile to be installed on the target system, and it depends on LittleCMS‑specific extensions.
Key constraints:
- It cannot be triggered through ICC profiles embedded in images.
- It cannot be triggered in RGB workflows.
- The attacker must convince the user to install a malicious CMYK output profile on the target machine.
- This malicious profile would already fail under normal usage, producing errors when used with standard rendering intents.
- Only when using the K‑plane preserving intents (13 and 14), which are LittleCMS extensions, could the overflow be reached — and even then, it is unclear whether this could realistically lead to code execution.
CMYK‑to‑CMYK workflows are rare and typically limited to specialized, printer‑specific applications. Even in the hypothetical case of a prepress rasterization program (RIP) using LittleCMS K‑preserving intents, the attacker would still need to install a malicious printer profile that fails in normal color operations but behaves differently when K‑preservation is invoked. The required attack sequence would be:
- Identify a suitable prepress target.
- Install a malicious printer profile (which likely already implies system access).
- Avoid any RGB→CMYK conversions, which would immediately reveal the profile as corrupt.
- Avoid any color operations such as soft‑proofing, which would also expose the corruption.
- Trigger a CMYK→CMYK conversion using K‑preservation as the first operation performed with the newly installed profile.
These conditions make real‑world exploitation extremely improbable.
Nevertheless, I am submitting a fix to ensure that even in this remote scenario the code path is properly checked and safeguarded.
This vulnerability has been discovered by Claude and Ada Logics. This issue was found by Anthropic through the use of agents to study the security of open‑source projects. I am collaborating with Ada Logics to validate the findings and provide a fix. It has been manually verified by David Korczynski (Ada Logics), with AI assistance used during the discovery process.
Many thanks to the whole team for identifying and reporting the problem.
Risk assessment:
In short: a carefully crafted malicious CMYK ICC profile may trigger a stack buffer overflow under specific conditions. While the issue is technically exploitable, the practical requirements for a successful exploit are extremely unlikely.
The problem occurs only in black‑preserving CMYK‑to‑CMYK transforms. It requires a malicious output profile to be installed on the target system, and it depends on LittleCMS‑specific extensions.
Key constraints:
CMYK‑to‑CMYK workflows are rare and typically limited to specialized, printer‑specific applications. Even in the hypothetical case of a prepress rasterization program (RIP) using LittleCMS K‑preserving intents, the attacker would still need to install a malicious printer profile that fails in normal color operations but behaves differently when K‑preservation is invoked. The required attack sequence would be:
These conditions make real‑world exploitation extremely improbable.
Nevertheless, I am submitting a fix to ensure that even in this remote scenario the code path is properly checked and safeguarded.