CVE-2026-77219:
Emacs Análisis y mitigación de vulnerabilidades
Vista general
CVE-2026-77219 is an integer overflow vulnerability in the PBM/PPM/PGM image loader of GNU Emacs that enables heap memory disclosure and potential denial of service. All versions of GNU Emacs before 31.0.91 are affected. The vulnerability was published on August 21, 2026, with a patch released in the emacs-31.0.91 pretest. It carries a CVSS v3.1 base score of 7.1 (High) and a CVSS v4.0 base score of 6.9 (Medium) (Github Advisory, Emacs Release).
Técnicas
The root cause is an integer overflow (CWE-190) in src/image.c within the pbm_load function, leading to an out-of-bounds read (CWE-125). The image loader computes the expected buffer size by multiplying image height, width, and channel count using signed integer arithmetic; when sufficiently large dimension values are supplied, the multiplication wraps to a negative number, bypassing the bounds check (p + expected_size > end). This causes the pixel reader to access heap memory beyond the allocated buffer, and the over-read bytes are interpreted as pixel color values and rendered on screen. The fix, committed as b07e634, replaces the naive multiplication with ckd_mul() (checked multiplication) to detect overflow before the bounds check (Emacs Commit, GNU Bug #81344).
Impacto
Successful exploitation allows an unauthenticated attacker (with user interaction) to leak sensitive heap memory contents, which are visually rendered as pixel data on the victim's screen — potentially exposing cryptographic keys, credentials, or other in-memory secrets. Additionally, the out-of-bounds read can crash the Emacs process, resulting in a denial of service. The vulnerability is locally scoped with no integrity impact and no lateral movement potential beyond the affected Emacs process (Github Advisory).
Explotabilidad
There is no public proof-of-concept exploit and no evidence of in-the-wild exploitation as of the time of disclosure. The vulnerability is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog. The EPSS score is approximately 0.13% (3rd percentile), indicating a low near-term exploitation probability. Exploitation requires user interaction — specifically, a victim must open a specially crafted PBM/PPM/PGM image file in Emacs (Github Advisory).
Pasos de explotación
- Craft a malicious image: Create a raw-format PBM, PPM, or PGM image file with extremely large width and height values and an elevated max color index (e.g., >255 to trigger two-byte mode), such that
height * width * channelsoverflows a signed integer and wraps to a negative value. - Deliver the image to the target: Send the crafted image to the victim via email attachment, file share, or web download, relying on social engineering to prompt the user to open it in Emacs.
- Trigger image loading: The victim opens the crafted image file in Emacs (e.g., via
find-fileor drag-and-drop), causingpbm_loadinsrc/image.cto process the malicious header. - Bypass bounds check: The integer overflow causes the computed
expected_sizeto be negative, bypassing thep + expected_size > endguard, and the pixel reader reads heap memory past the end of the allocated buffer. - Observe leaked memory: The over-read heap bytes are interpreted as pixel color values and rendered on screen, potentially exposing sensitive in-memory data to an attacker with visual or remote access to the display (Emacs Commit, GNU Bug #81344).
Indicadores de compromiso
- File System: Presence of unusually large or malformed
.pbm,.ppm, or.pgmfiles with anomalous header values (e.g., width/height values nearINT_MAX) in user download directories or email attachments. - Logs: Emacs error messages such as
"Invalid image size in image"in*Messages*buffer or system logs, which may indicate attempted exploitation that triggered the error path (patched versions) or silent over-read (unpatched versions). - Process: Unexpected Emacs crashes (SIGSEGV or SIGABRT) when opening image files, potentially indicating a heap corruption or out-of-bounds read condition.
Mitigación y soluciones alternativas
Upgrade GNU Emacs to version 31.0.91 or later, which includes the fix in commit b07e634 replacing unsafe signed integer multiplication with overflow-checked ckd_mul() calls in pbm_load. Until patching is feasible, users should avoid opening PBM, PPM, or PGM image files from untrusted sources in Emacs, and use alternative image viewers for such files. Linux distribution users should apply vendor-provided security updates (e.g., Fedora, openSUSE packages) as they become available (Emacs Release, Emacs Commit).
Reacciones de la comunidad
The vulnerability was reported by Tristan Madani via the GNU bug tracker (bug #81344) and was promptly fixed by the Emacs maintainers. Linux distribution security teams (Fedora, openSUSE) issued advisories and updated packages shortly after disclosure. No significant broader media coverage or notable researcher commentary beyond the initial bug report and vendor patch has been identified (GNU Bug #81344).
Recursos adicionales
Estado de corrección de la distribución Linux
Arreglar la disponibilidad en las principales distribuciones de Linux y sus lanzamientos.
bionic (esm-apps)
xemacs21
bionic (esm-infra)
emacs25
devel
emacs
focal (esm-apps)
emacs
jammy
emacs
jammy (esm-apps)
emacs
noble
emacs
noble (esm-apps)
emacs
Fuente: Este informe se generó utilizando IA
Relacionado Emacs Vulnerabilidades:
Evaluación gratuita de vulnerabilidades
Compare su postura de seguridad en la nube
Evalúe sus prácticas de seguridad en la nube en 9 dominios de seguridad para comparar su nivel de riesgo e identificar brechas en sus defensas.
Recursos adicionales de Wiz
Obtén una demostración personalizada
¿Listo para ver a Wiz en acción?
"La mejor experiencia de usuario que he visto en mi vida, proporciona una visibilidad completa de las cargas de trabajo en la nube."
"Wiz proporciona un panel único para ver lo que ocurre en nuestros entornos en la nube."
"Sabemos que si Wiz identifica algo como crítico, en realidad lo es."