CVE-2026-45130
Vim is an open source, command line text editor. Prior to version 9.2.0450, a heap buffer overflow exists in read_compound() in src/spellfile.c when loading a crafted spell file (.spl) with UTF-8 encoding active. An attacker-controlled length field in the spell file's compound section overflows a 32-bit signed integer multiplication, causing a small buffer to be allocated for a write loop that runs many iterations, overflowing the heap. Because the 'spelllang' option can be set from a modeline, a text file modeline can trigger spell file loading if a malicious .spl file has been planted on the runtimepath. This issue has been patched in version 9.2.0450.
CVSS
- Versión: 3.1
- Vector: CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H
- Puntuación base: 5.5
Probabilidad de explotación (EPSS)
- Probabilidad de explotación en los próximos 30 días: 0.20%
- Percentil entre todas las CVEs puntuadas: 9
- Fecha de la puntuación: 6/10/2026
EPSS (Exploit Prediction Scoring System, de FIRST) estima la probabilidad de que una vulnerabilidad sea explotada en 30 días. Complementa a CVSS (impacto) y a CISA KEV (explotación confirmada).
Tecnologías afectadas (2)
CWE
- CWE-122, CWE-190
Referencias
JSON original (NVD)
Mostrar
{
"id": "CVE-2026-45130",
"cveTags": [],
"metrics": {
"ssvcV203": [
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"ssvcData": {
"id": "CVE-2026-45130",
"role": "CISA Coordinator",
"options": [
{
"exploitation": "none"
},
{
"automatable": "no"
},
{
"technicalImpact": "partial"
}
],
"version": "2.0.3",
"timestamp": "2026-05-12T13:10:12.632073Z"
}
}
],
"cvssMetricV31": [
{
"type": "Secondary",
"source": "security-advisories@github.com",
"cvssData": {
"scope": "UNCHANGED",
"version": "3.1",
"baseScore": 6.6,
"attackVector": "LOCAL",
"baseSeverity": "MEDIUM",
"vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:H",
"integrityImpact": "LOW",
"userInteraction": "REQUIRED",
"attackComplexity": "LOW",
"availabilityImpact": "HIGH",
"privilegesRequired": "NONE",
"confidentialityImpact": "LOW"
},
"impactScore": 4.7,
"exploitabilityScore": 1.8
},
{
"type": "Primary",
"source": "nvd@nist.gov",
"cvssData": {
"scope": "UNCHANGED",
"version": "3.1",
"baseScore": 5.5,
"attackVector": "LOCAL",
"baseSeverity": "MEDIUM",
"vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H",
"integrityImpact": "NONE",
"userInteraction": "REQUIRED",
"attackComplexity": "LOW",
"availabilityImpact": "HIGH",
"privilegesRequired": "NONE",
"confidentialityImpact": "NONE"
},
"impactScore": 3.6,
"exploitabilityScore": 1.8
}
]
},
"affected": [
{
"source": "security-advisories@github.com",
"affectedData": [
{
"vendor": "vim",
"product": "vim",
"versions": [
{
"status": "affected",
"version": "< 9.2.0450"
}
]
}
]
}
],
"published": "2026-05-08T23:16:40.053",
"references": [
{
"url": "https://github.com/vim/vim/commit/92993329178cb1f72d700fff45ca86e1c2d369f8",
"tags": [
"Patch"
],
"source": "security-advisories@github.com"
},
{
"url": "https://github.com/vim/vim/releases/tag/v9.2.0450",
"tags": [
"Product"
],
"source": "security-advisories@github.com"
},
{
"url": "https://github.com/vim/vim/security/advisories/GHSA-q4jv-r9gj-6cwv",
"tags": [
"Exploit",
"Patch",
"Vendor Advisory"
],
"source": "security-advisories@github.com"
},
{
"url": "http://www.openwall.com/lists/oss-security/2026/05/14/3",
"tags": [
"Mailing List",
"Third Party Advisory"
],
"source": "af854a3a-2127-422b-91ae-364da2661108"
}
],
"vulnStatus": "Analyzed",
"weaknesses": [
{
"type": "Secondary",
"source": "security-advisories@github.com",
"description": [
{
"lang": "en",
"value": "CWE-122"
},
{
"lang": "en",
"value": "CWE-190"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "Vim is an open source, command line text editor. Prior to version 9.2.0450, a heap buffer overflow exists in read_compound() in src/spellfile.c when loading a crafted spell file (.spl) with UTF-8 encoding active. An attacker-controlled length field in the spell file's compound section overflows a 32-bit signed integer multiplication, causing a small buffer to be allocated for a write loop that runs many iterations, overflowing the heap. Because the 'spelllang' option can be set from a modeline, a text file modeline can trigger spell file loading if a malicious .spl file has been planted on the runtimepath. This issue has been patched in version 9.2.0450."
},
{
"lang": "es",
"value": "Vim es un editor de texto de código abierto, de línea de comandos. Antes de la versión 9.2.0450, existe un desbordamiento de búfer en el heap en read_compound() en src/spellfile.c al cargar un archivo de diccionario (.spl) manipulado con la codificación UTF-8 activa. Un campo de longitud controlado por el atacante en la sección de compuestos del archivo de diccionario desborda una multiplicación de enteros con signo de 32 bits, provocando que se asigne un búfer pequeño para un bucle de escritura que ejecuta muchas iteraciones, desbordando el heap. Debido a que la opción 'spelllang' puede establecerse desde una modeline, una modeline de archivo de texto puede activar la carga del archivo de diccionario si se ha colocado un archivo .spl malicioso en el runtimepath. Este problema ha sido parcheado en la versión 9.2.0450."
}
],
"lastModified": "2026-07-24T20:10:00.147",
"configurations": [
{
"nodes": [
{
"negate": false,
"cpeMatch": [
{
"criteria": "cpe:2.3:a:neovim:neovim:*:*:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "719B9CF2-2B89-42FC-9CE0-57D380FDDA35",
"versionEndIncluding": "0.12.2"
},
{
"criteria": "cpe:2.3:a:vim:vim:*:*:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "F0FC2B37-D8F8-4D00-AFD5-9DF3C7BE1E1B",
"versionEndExcluding": "9.2.0450"
}
],
"operator": "OR"
}
]
}
],
"sourceIdentifier": "security-advisories@github.com"
}