CVE-2026-71391
Full vulnerability record from the local CVENow database.
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
Severity
MEDIUM
CVSS score
5.3
(v4.0)
Vulnerability status
Deferred
Source identifier
Published
2026-08-10 11:17:28.233000
Last modified
2026-10-24 15:10:00.190000
View original CVE JSON
{
"id": "CVE-2026-71391",
"sourceIdentifier": "[email protected]",
"published": "2026-08-10T11:17:28.233",
"lastModified": "2026-10-24T15:10:00.190",
"vulnStatus": "Deferred",
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "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.\n\n\nThis issue was fixed in commit 95ab9ef627b212d74d321c5bbb5b56a1be7b9fbe"
},
{
"lang": "es",
"value": "GNU Emacs para Android contiene un error de “off-by-one” en el analizador de la tabla gvar en src/sfnt.c. La verificación de límites del índice de coordenadas compartidas en sfnt_vary_simple_glyph() y sfnt_vary_compound_glyph() utiliza una comparación estricta de “mayor que” en lugar de “mayor o igual que”, permitiendo que una fuente variable TrueType manipulada omita la verificación y active una lectura fuera de límites basada en el “heap” a través de memcpy. Un atacante puede entregar un archivo de fuente malicioso a través de correo electrónico, EWW (Emacs Web Wowser) o documentos con caras personalizadas, haciendo que Emacs lo cargue. Esto expone el contenido de la memoria del “heap” que puede ser utilizado posteriormente para eludir ASLR.\n\nEste problema fue corregido en el commit 95ab9ef627b212d74d321c5bbb5b56a1be7b9fbe"
}
],
"affected": [
{
"source": "[email protected]",
"affectedData": [
{
"vendor": "GNU",
"product": "Emacs",
"defaultStatus": "unaffected",
"platforms": [
"Android"
],
"programFiles": [
"src/sfnt.c"
],
"repo": "https://cgit.git.savannah.gnu.org/cgit/emacs.git",
"versions": [
{
"version": "0",
"lessThanOrEqual": "30.2",
"versionType": "custom",
"status": "affected",
"changes": [
{
"at": "commit 95ab9ef627b212d74d321c5bbb5b56a1be7b9fbe",
"status": "unaffected"
}
]
}
]
}
]
}
],
"metrics": {
"cvssMetricV40": [
{
"source": "[email protected]",
"type": "Secondary",
"cvssData": {
"version": "4.0",
"vectorString": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:N/SC:L/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X",
"baseScore": 5.3,
"baseSeverity": "MEDIUM",
"attackVector": "NETWORK",
"attackComplexity": "LOW",
"attackRequirements": "NONE",
"privilegesRequired": "NONE",
"userInteraction": "PASSIVE",
"vulnConfidentialityImpact": "NONE",
"vulnIntegrityImpact": "NONE",
"vulnAvailabilityImpact": "NONE",
"subConfidentialityImpact": "LOW",
"subIntegrityImpact": "NONE",
"subAvailabilityImpact": "NONE",
"exploitMaturity": "NOT_DEFINED",
"confidentialityRequirement": "NOT_DEFINED",
"integrityRequirement": "NOT_DEFINED",
"availabilityRequirement": "NOT_DEFINED",
"modifiedAttackVector": "NOT_DEFINED",
"modifiedAttackComplexity": "NOT_DEFINED",
"modifiedAttackRequirements": "NOT_DEFINED",
"modifiedPrivilegesRequired": "NOT_DEFINED",
"modifiedUserInteraction": "NOT_DEFINED",
"modifiedVulnConfidentialityImpact": "NOT_DEFINED",
"modifiedVulnIntegrityImpact": "NOT_DEFINED",
"modifiedVulnAvailabilityImpact": "NOT_DEFINED",
"modifiedSubConfidentialityImpact": "NOT_DEFINED",
"modifiedSubIntegrityImpact": "NOT_DEFINED",
"modifiedSubAvailabilityImpact": "NOT_DEFINED",
"Safety": "NOT_DEFINED",
"Automatable": "NOT_DEFINED",
"Recovery": "NOT_DEFINED",
"valueDensity": "NOT_DEFINED",
"vulnerabilityResponseEffort": "NOT_DEFINED",
"providerUrgency": "NOT_DEFINED"
}
}
],
"ssvcV203": [
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"ssvcData": {
"timestamp": "2026-08-10T17:48:03.085454Z",
"id": "CVE-2026-71391",
"options": [
{
"exploitation": "none"
},
{
"automatable": "no"
},
{
"technicalImpact": "partial"
}
],
"role": "CISA Coordinator",
"version": "2.0.3"
}
}
]
},
"weaknesses": [
{
"source": "[email protected]",
"type": "Secondary",
"description": [
{
"lang": "en",
"value": "CWE-193"
}
]
}
],
"references": [
{
"url": "https://cert.pl/en/posts/2026/08/CVE-2026-71391",
"source": "[email protected]"
},
{
"url": "https://git.savannah.gnu.org/cgit/emacs.git/commit/?id=95ab9ef627b212d74d321c5bbb5b56a1be7b9fbe",
"source": "[email protected]"
},
{
"url": "https://www.gnu.org/savannah-checkouts/gnu/emacs/emacs.html",
"source": "[email protected]"
}
]
}