---
id: CVE-2026-77219
title: >-
  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
summary: >-
  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
  load…
severity: high
cvss: 7.1
cvssVector: 'CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:H'
cwe:
  - CWE-125
  - CWE-190
published: '2026-08-21'
updated: '2026-09-24'
sourceUpdated: '2026-09-24T20:43:32.537'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-77219'
references:
  - url: 'https://debbugs.gnu.org/cgi/bugreport.cgi?bug=81344'
    label: disclosure@vulncheck.com
  - url: >-
      https://github.com/emacs-mirror/emacs/commit/b07e634e4cf45162ae0178e32092b040587f2c6c
    label: disclosure@vulncheck.com
  - url: 'https://github.com/emacs-mirror/emacs/releases/tag/emacs-31.0.91'
    label: disclosure@vulncheck.com
  - url: >-
      https://www.vulncheck.com/advisories/gnu-emacs-heap-over-read-via-pbm-ppm-pgm-image-loader
    label: disclosure@vulncheck.com
tags:
  - nvd
epss: 0.00185
epssPercentile: 0.07164
ingestedAt: '2026-09-24T20:51:40.217Z'
---

## Overview

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.

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
