Vim is an open source, command line text editor. Prior to 9.2.0725, the single-byte branch of spellsoundfoldsal() 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.
{
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/59xxx/CVE-2026-59857.json",
"cwe_ids": [
"CWE-787"
],
"cna_assigner": "GitHub_M"
}{
"cpe": "cpe:2.3:a:vim:vim:*:*:*:*:*:*:*:*",
"source": [
"AFFECTED_FIELD",
"CPE_RANGE",
"REFERENCES"
],
"extracted_events": [
{
"introduced": "0"
},
{
"fixed": "9.2.0725"
}
]
}
[
{
"id": "CVE-2026-59857-506f57fc",
"target": {
"file": "src/version.c"
},
"deprecated": false,
"digest": {
"threshold": 0.9,
"line_hashes": [
"146200493773228420153804765641940418619",
"246607238237528710845427243650656792950",
"305861527258302621381317298273591599679",
"90506354279675163972073140331804228984"
]
},
"signature_version": "v1",
"source": "https://github.com/vim/vim/commit/d22ff1c955ff87e8273210eae125aab0e85b6c30",
"signature_type": "Line"
},
{
"id": "CVE-2026-59857-8541279f",
"target": {
"file": "src/spell.c"
},
"deprecated": false,
"digest": {
"threshold": 0.9,
"line_hashes": [
"17748149884292312123652704819524750480",
"128421252652177301781215342968059899218",
"39300594641276213483077481574591695212",
"92758539371950901238482845387329752707",
"85466626966489595696163414617993395295",
"144175283633829153018458450334156149908",
"179328231038153641054067020949510456797",
"289572238965349784709196893064458638104",
"329436203840400110005871394311348865639",
"249308017766649229348438553436009587536",
"317316729849170740447918166774341934158",
"236108040388926199491281497969860804554"
]
},
"signature_version": "v1",
"source": "https://github.com/vim/vim/commit/d22ff1c955ff87e8273210eae125aab0e85b6c30",
"signature_type": "Line"
},
{
"id": "CVE-2026-59857-91ea5db4",
"target": {
"function": "spell_soundfold_sal",
"file": "src/spell.c"
},
"deprecated": false,
"digest": {
"function_hash": "55819586932666886493535026354454297554",
"length": 3978.0
},
"signature_version": "v1",
"source": "https://github.com/vim/vim/commit/d22ff1c955ff87e8273210eae125aab0e85b6c30",
"signature_type": "Function"
}
]
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-59857.json"
"2026-08-12T16:41:38Z"