CVE-2026-77219: GNU Emacs < 31.0.91 Heap Over-Read via PBM/PPM/PGM Image Loader
GNU Emacs before 31.0.91 contains an integer overflow in the PBM/PPM/PGM image loader that allows an attacker to leak heap memory contents by supplying a crafted image with large dimensions and an elevated max color index. The image loader multiplies image dimensions and channel count using signed integer arithmetic; for sufficiently large values, the result wraps to a negative number, bypassing the bounds check and causing the pixel reader to access heap memory past the end of the allocated buffer. The over-read contents are interpreted as pixel color values and rendered on screen.
Affected Software
Event History
Frequently Asked Questions
What must an attacker do to trigger the issue?
The attacker must supply a crafted PBM, PPM, or PGM image with sufficiently large dimensions and an elevated maximum color index. A user must then cause GNU Emacs to load the image, as reflected by the required user interaction.
What is the practical impact of successful exploitation?
The flaw can expose heap memory beyond the image buffer. The leaked data is interpreted as pixel color values and rendered on screen; the described impact is information disclosure and not code execution or integrity modification.
Which GNU Emacs versions are affected?
GNU Emacs versions before 31.0.91 are affected. Version 31.0.91 is identified as the fixed release.