Vim is an open source, command line text editor. Prior to 9.2.0725, the single-byte branch of spell_soundfold_sal() in src/spell.c translates a word through a spell file's SAL sound-folding rules into a caller-owned result buffer, but its result writes are guarded with reslen < MAXWLEN, allowing reslen to reach MAXWLEN before res[reslen] = NUL writes one byte past the end of the MAXWLEN-element stack buffer. A boundary-length word passed to soundfold(), or reached via sound-based spell suggestion while a SAL-based spell language is active under a non-multibyte 8-bit encoding, can corrupt the eval_soundfold() stack frame and crash the editor. This issue is fixed in version 9.2.0725.
{
"cna_assigner": "GitHub_M",
"cwe_ids": [
"CWE-787"
],
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/59xxx/CVE-2026-59857.json"
}{
"cpe": "cpe:2.3:a:vim:vim:*:*:*:*:*:*:*:*",
"extracted_events": [
{
"introduced": "0"
},
{
"fixed": "9.2.0725"
}
],
"source": [
"AFFECTED_FIELD",
"CPE_RANGE",
"REFERENCES"
]
}
"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2026-59857.json"
[
{
"deprecated": false,
"digest": {
"line_hashes": [
"146200493773228420153804765641940418619",
"246607238237528710845427243650656792950",
"305861527258302621381317298273591599679",
"90506354279675163972073140331804228984"
],
"threshold": 0.9
},
"id": "CVE-2026-59857-506f57fc",
"signature_type": "Line",
"signature_version": "v1",
"source": "https://github.com/vim/vim/commit/d22ff1c955ff87e8273210eae125aab0e85b6c30",
"target": {
"file": "src/version.c"
}
},
{
"deprecated": false,
"digest": {
"line_hashes": [
"17748149884292312123652704819524750480",
"128421252652177301781215342968059899218",
"39300594641276213483077481574591695212",
"92758539371950901238482845387329752707",
"85466626966489595696163414617993395295",
"144175283633829153018458450334156149908",
"179328231038153641054067020949510456797",
"289572238965349784709196893064458638104",
"329436203840400110005871394311348865639",
"249308017766649229348438553436009587536",
"317316729849170740447918166774341934158",
"236108040388926199491281497969860804554"
],
"threshold": 0.9
},
"id": "CVE-2026-59857-8541279f",
"signature_type": "Line",
"signature_version": "v1",
"source": "https://github.com/vim/vim/commit/d22ff1c955ff87e8273210eae125aab0e85b6c30",
"target": {
"file": "src/spell.c"
}
},
{
"deprecated": false,
"digest": {
"function_hash": "55819586932666886493535026354454297554",
"length": 3978
},
"id": "CVE-2026-59857-91ea5db4",
"signature_type": "Function",
"signature_version": "v1",
"source": "https://github.com/vim/vim/commit/d22ff1c955ff87e8273210eae125aab0e85b6c30",
"target": {
"file": "src/spell.c",
"function": "spell_soundfold_sal"
}
}
]
"2026-08-18T18:48:26Z"