Description
GNU Emacs for Android contains an off-by-one error in the gvar table parser in src/sfnt.c. The shared-coordinate index boundary check in sfnt_vary_simple_glyph() and sfnt_vary_compound_glyph() uses a strict greater-than comparison instead of greater-than-or-equal, allowing a crafted TrueType variable font to bypass the check and trigger a heap-based out-of-bounds read via memcpy. An attacker can deliver a malicious font file via email, EWW (Emacs Web Wowser), or documents with custom faces, causing Emacs to load it. This exposes heap memory contents which can be later used to defeat ASLR.
This issue was fixed in commit 95ab9ef627b212d74d321c5bbb5b56a1be7b9fbe
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| GNU | Emacs | ≤ 30.2 | — |
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 26.10 | emacs +2 | No fix yet | — |
| Ubuntu 26.04 LTS | xemacs21 +1 | No fix yet | — |
| Ubuntu 24.04 LTS | xemacs21 +1 | No fix yet | — |
| Ubuntu 22.04 LTS | xemacs21 +1 | No fix yet | — |
| Ubuntu 20.04 LTS | xemacs21 +1 | No fix yet | — |
Show 8 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 18.04 LTS | xemacs21 +1 | No fix yet | — |
| Ubuntu 16.04 LTS | xemacs21 +1 | No fix yet | — |
| Ubuntu Pro 26.04 LTS | emacs | No fix yet | — |
| Ubuntu Pro 24.04 LTS | emacs | No fix yet | — |
| Ubuntu Pro 22.04 LTS | emacs | No fix yet | — |
| Ubuntu Pro 20.04 LTS | emacs | No fix yet | — |
| Ubuntu Pro 18.04 LTS | emacs25 | No fix yet | — |
| Ubuntu Pro 16.04 LTS | emacs24 | No fix yet | — |
Advisories 1
- WID-SEC-2026-2721 GNU Emacs: Mehrere Schwachstellen BSI CERT-Bund (WID) · Aug 10, 2026