GNU Emacs up to 30.2 Gvar Table Parser src/sfnt.c sfnt_vary_simple_glyph/sfnt_vary_compound_glyph off-by-one

CVSS Meta Temp Score
CVSS is a standardized scoring system to determine possibilities of attacks. The Temp Score considers temporal factors like disclosure, exploit and countermeasures. The unique Meta Score calculates the average score of different sources to provide a normalized scoring system.
Current Exploit Price (≈)
Our analysts are monitoring exploit markets and are in contact with vulnerability brokers. The range indicates the observed or calculated exploit price to be seen on exploit markets. A good indicator to understand the monetary effort required for and the popularity of an attack.
CTI Interest Score
Our Cyber Threat Intelligence team is monitoring different web sites, mailing lists, exploit markets and social media networks. The CTI Interest Score identifies the interest of attackers and the security community for this specific vulnerability in real-time. A high score indicates an elevated risk to be targeted for this vulnerability.
6.0$0-$5k2.70

Summaryinfo

A vulnerability identified as critical has been detected in GNU Emacs up to 30.2. This affects the function sfnt_vary_simple_glyph/sfnt_vary_compound_glyph of the file src/sfnt.c of the component Gvar Table Parser. The manipulation leads to off-by-one. This vulnerability is traded as CVE-2026-71391. It is possible to initiate the attack remotely. There is no exploit available.

Detailsinfo

A vulnerability, which was classified as critical, has been found in GNU Emacs up to 30.2. This issue affects the function sfnt_vary_simple_glyph/sfnt_vary_compound_glyph of the file src/sfnt.c of the component Gvar Table Parser. The manipulation with an unknown input leads to a off-by-one vulnerability. Using CWE to declare the problem leads to CWE-193. A product calculates or uses an incorrect maximum or minimum value that is 1 more, or 1 less, than the correct value. Impacted is confidentiality, integrity, and availability. The summary by CVE is:

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

The advisory is shared at cert.pl. The identification of this vulnerability is CVE-2026-71391 since 08/06/2026. The exploitation is known to be easy. The attack may be initiated remotely. No form of authentication is needed for a successful exploitation. It demands that the victim is doing some kind of user interaction. Technical details are known, but no exploit is available.

Applying the patch 95ab9ef627b212d74d321c5bbb5b56a1be7b9fbe is able to eliminate this problem.

The vulnerability is also documented in the vulnerability database at CERT Bund (WID-SEC-2026-2721). If you want to get the best quality for vulnerability data then you always have to consider VulDB.

Affected

  • Open Source GNU Emacs

Productinfo

Type

Vendor

Name

Version

License

Website

CPE 2.3info

CPE 2.2info

CVSSv4info

VulDB Vector: 🔒
VulDB Reliability: 🔍

CVSSv3info

VulDB Meta Base Score: 6.3
VulDB Meta Temp Score: 6.0

VulDB Base Score: 6.3
VulDB Temp Score: 6.0
VulDB Vector: 🔒
VulDB Reliability: 🔍

CVSSv2info

AVACAuCIA
💳💳💳💳💳💳
💳💳💳💳💳💳
💳💳💳💳💳💳
VectorComplexityAuthenticationConfidentialityIntegrityAvailability
UnlockUnlockUnlockUnlockUnlockUnlock
UnlockUnlockUnlockUnlockUnlockUnlock
UnlockUnlockUnlockUnlockUnlockUnlock

VulDB Base Score: 🔒
VulDB Temp Score: 🔒
VulDB Reliability: 🔍

Exploitinginfo

Class: Off-by-one
CWE: CWE-193 / CWE-189
CAPEC: 🔒
ATT&CK: 🔒

Physical: No
Local: No
Remote: Yes

Availability: 🔒
Status: Not defined
Price Prediction: 🔍
Current Price Estimation: 🔒

0-DayUnlockUnlockUnlockUnlock
TodayUnlockUnlockUnlockUnlock

Threat Intelligenceinfo

Interest: 🔍
Active Actors: 🔍
Active APT Groups: 🔍

Countermeasuresinfo

Recommended: Patch
Status: 🔍

0-Day Time: 🔒

Patch: 95ab9ef627b212d74d321c5bbb5b56a1be7b9fbe

Timelineinfo

08/06/2026 CVE reserved
08/10/2026 +4 days Advisory disclosed
08/10/2026 +0 days VulDB entry created
08/10/2026 +0 days VulDB entry last update

Sourcesinfo

Vendor: gnu.org

Advisory: cert.pl
Status: Confirmed

CVE: CVE-2026-71391 (🔒)
GCVE (CVE): GCVE-0-2026-71391
GCVE (VulDB): GCVE-100-387389
CERT Bund: WID-SEC-2026-2721 - GNU Emacs: Mehrere Schwachstellen

Entryinfo

Created: 08/10/2026 12:44
Updated: 08/10/2026 14:18
Changes: 08/10/2026 12:44 (57), 08/10/2026 14:18 (7)
Complete: 🔍
Cache ID: 216::103

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

Discussion

No comments yet. Languages: en.

Please log in to comment.

Do you want to use VulDB in your project?

Use the official API to access entries easily!