Skip to main content

GraphicsMagick EUVDEUVD-2026-63345

| CVE-2026-77118 HIGH
Out-of-bounds Write (CWE-787)
2026-08-20 22e2d327-25fe-45d7-9f0c-dcd23b7108df GHSA-qjrj-qxx7-fc4j
8.4
CVSS 4.0 · Vendor: 22e2d327-25fe-45d7-9f0c-dcd23b7108df
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Deliver crafted PCD file to processing target
  2. Delivery
    Target invokes gm convert/identify or libGraphicsMagick app
  3. Exploit
    PCD decoder enters unbounded Huffman delta loop
  4. Execution
    Output pointer walks past heap plane buffer boundary
  5. Persist
    Overwrite adjacent heap memory
  6. Impact
    Crash or controlled code execution

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Bounds checking, write limits
MITRE ATT&CK

2 techniques across 2 tactics: Execution, Privilege Escalation

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

The vulnerability is triggered whenever a crafted PCD file reaches the DecodeImage() function in coders/pcd.c; no special GraphicsMagick configuration is required - the PCD decoder is enabled in a standard build. The CVSS 4.0 vector specifies PR:N (no privileges needed to supply the file) and UI:A (a user or automated process must actively invoke PCD decoding, e.g., via gm convert input.pcd, gm identify input.pcd, or an application calling libGraphicsMagick). In server-side pipelines that automatically process user-uploaded images the UI:A barrier is effectively removed. Exploitation is limited by: (1) the attacker must be able to deliver a PCD-format file into the processing path - pipelines that filter by extension or magic bytes before decoding reduce exposure; (2) the local attack vector (AV:L) means the file must reach the local processing environment rather than being exploitable directly over a network protocol; (3) modern heap mitigations (ASLR, safe-unlinking, guard pages) make reliable code execution harder, though denial-of-service via crash is straightforward.

Impact

The CVSS 4.0 vector (AV:L/AC:L/AT:N/PR:N/UI:A) scores 8.4, reflecting a local file-processing attack requiring active user interaction but no privileges. The high VC/VI/VA metrics are well-justified: heap out-of-bounds writes in image decoders are a historically well-exploited vulnerability class capable of producing both reliable denial-of-service and, with heap-layout control, code execution. EPSS data is absent from the provided intelligence, and neither CISA KEV listing nor public proof-of-concept code has been identified at time of analysis, so real-world exploitation probability is currently speculative. The local attack vector (AV:L) and UI:A requirement temper risk in interactive desktop contexts, but server-side image-processing pipelines that automatically ingest user-supplied files effectively eliminate the human-interaction barrier, making this a meaningful priority for any deployment that accepts PCD-format uploads. Modern heap hardening (ASLR, safe-unlinking, guard pages) raises the bar for reliable code execution while leaving crash-based denial-of-service readily achievable.

Exploit ScenarioDerived

An attacker delivers a specially crafted PCD image to a web application or API endpoint that passes uploaded files through gm convert or a libGraphicsMagick-linked processor. When the application decodes the file, DecodeImage() enters the Huffman delta loop and - due to the absent bounds check - writes delta values past the end of the heap plane buffer; with no POC confirmed, the most predictable outcome is a crash, but heap-layout manipulation could plausibly yield code execution in the context of the image-processing service.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.1% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Aug 20, 2026

Heap out-of-bounds write in GraphicsMagick's Photo CD (PCD) decoder enables heap memory corruption when processing a maliciously crafted PCD image. The DecodeImage() function in coders/pcd.c unconditionally advances its output pointer (q++) on every decoded Huffman delta without validating it against the end of the heap-allocated luma or chroma plane buffers, so an attacker-controlled PCD file can drive the pointer arbitrarily past the allocation boundary and overwrite adjacent heap memory. Any application invoking gm convert, gm identify, or linking against libGraphicsMagick while processing untrusted PCD files is at risk; no public exploit is identified at time of analysis.

RemediationAI

Upgrade GraphicsMagick to version 1.3.48, which contains the upstream fix at commit 937cdd9920bd96 (https://foss.heptapod.net/graphicsmagick/graphicsmagick/-/commit/937cdd9920bd96); review the 1.3.48 ChangeLog at https://foss.heptapod.net/graphicsmagick/graphicsmagick/-/raw/GraphicsMagick-1_3_48/ChangeLog to confirm patch inclusion. If immediate patching is not feasible, the most effective compensating control is to block PCD file ingestion: configure content-type filtering to reject files with the .pcd extension or image/x-photo-cd MIME type at the API gateway or upload handler - note that MIME-type spoofing means magic-byte validation is more reliable than extension checks alone. As a secondary mitigation, run GraphicsMagick in a sandboxed process (restricted container, seccomp-bpf profile, or dedicated low-privilege user) to contain the blast radius of heap corruption; this does not prevent the write but limits what an attacker can reach. Avoid processing untrusted PCD files in production until the patch is confirmed applied.

Affected VersionsENISA

GraphicsMagick 0 <1.4+really1.3.48-1
GraphicsMagick 1.0.0 <1.3.48
GraphicsMagick 0 <1.3.48

Affected Packages

euvd graphicsmagick fix: 1.3.48, 1.4+really1.3.48-1

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

GraphicsMagick is a fork of ImageMagick that provides image processing via the gm CLI tool and the libGraphicsMagick shared library. Photo CD (PCD) is a Kodak hierarchical image format decoded in coders/pcd.c. The decoder reconstructs luma and chroma plane data using Huffman-coded delta values inside DecodeImage(); after each decoded delta, the output pointer q is incremented unconditionally. Plane and row boundaries are only re-established when sync markers appear in the bitstream. CWE-787 (Out-of-bounds Write) is the root cause: because the run length between sync markers is bounded solely by attacker-supplied input, a crafted PCD file can emit an arbitrarily long delta run that advances q well past the end of the heap-allocated plane buffer, writing into adjacent heap regions. This is a classic heap buffer overflow in an image-parsing hot path, reachable without special privileges by supplying a crafted file to any consumer of the affected library.

Know when the next one hits your stack

  • 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

Vendor (22e2d327-25fe-45d7-9f0c-dcd23b7108df) PRIMARY 8.4 HIGH
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
vuln.today AI 7.8 HIGH

File-local attack vector with required user interaction; no privileges needed to supply input; heap write yields full CIA impact on the vulnerable process.

3.1 AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
4.0 AV:L/AC:L/AT:N/PR:N/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
SUSE 7.8 HIGH
AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H

Primary rating from Vendor (22e2d327-25fe-45d7-9f0c-dcd23b7108df).

CVSS VectorVendor: 22e2d327-25fe-45d7-9f0c-dcd23b7108df

Attack Vector
Local
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
Active
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
High
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

2
Patch available
Aug 20, 2026 - 14:02 EUVD
CVE Published
Aug 20, 2026 - 13:19 cve.org
HIGH 8.4

DescriptionCVE.org

A heap out-of-bounds write exists in the Photo CD (PCD) decoder of GraphicsMagick. In DecodeImage() (coders/pcd.c), the Huffman delta loop advances its output pointer with q++ after every decoded delta and never checks it against the end of the heap-allocated luma/chroma plane buffers. The pointer is repositioned only when a sync marker introduces a new plane/row; between sync markers the run length is bounded solely by the input.

A crafted PCD file that positions the pointer near the end of a plane and then supplies a long run of deltas with no intervening sync therefore walks the pointer past the end of the allocation and writes through it. Processing an untrusted PCD file - for example with gm convert or gm identify, or through any application linked against libGraphicsMagick - can corrupt heap memory beyond the buffers.

Executive ViewAI

Why It Matters

GraphicsMagick, a widely-deployed open-source image processing library, contains a heap memory corruption vulnerability affecting its Photo CD decoder that enables remote code execution when processing malicious PCD image files. Organizations using GraphicsMagick in image conversion pipelines, web services accepting file uploads, or document processing workflows are at immediate risk if untrusted image files are processed.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: disable PCD format decoding, implement file format allowlists rejecting .pcd, run GraphicsMagick in isolated containers with reduced privileges and memory-safety protections, use Web Application Firewall rules to block suspicious file uploads, implement process behavior monitoring for heap corruption indicators (segmentation faults, memory access violations in coders/pcd.c), and maintain network segmentation isolating image processing services.

Threat Intelligence Overview

EPSS Score
0.1%
Top 97% exploitable
Prevalence
Medium
widely used image processing library, absent from core OS stacks
Data Quality
5 sources
Confidence: Medium

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 HIGH
CISA KEV No
Public POC No
EPSS 0.1%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.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· derived
None
System Exposure· derived
Small
Automatable· derived
No
Human Impact
High

Priority Score

42
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +42
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.

Memory corruption occurs when a program writes data beyond the boundaries of allocated memory regions or accesses memory in unintended ways, violating the integrity of the process's address space.

Vendor StatusVendor

SUSE

Severity: Important
Product Status
SUSE Linux Enterprise Desktop 15 SP7 Not-Affected
SUSE Linux Enterprise High Performance Computing 12 Not-Affected
SUSE Linux Enterprise Module for Desktop Applications 15 SP7 Not-Affected
SUSE Linux Enterprise Module for Development Tools 15 SP7 Not-Affected
SUSE Linux Enterprise Module for Package Hub 15 SP7 Affected

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