Skip to main content
← All vulnerabilities
CVE-2026-77118

Out-of-bounds write in GraphicsMagick PCD decoder

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 1.3.48, 1.4+really1.3.48-1
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: none
  • Automatable: no
  • Technical impact: total

Summary

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.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: none · Automatable: no · Technical impact: total

  3. Record last updated

Affected versions

  • GraphicsMagick Group GraphicsMagick

    From 1.0.0 · fixed in 1.3.48

  • graphicsmagick

    fixed in 1.4+really1.3.48-1

  • GraphicsMagick

    fixed in 1.3.48

References 2

foss.heptapod.net