Description
Vim is an open source, command line text editor. Prior to 9.2.0662, the dump_prefixes() function in src/spell.c walks a spell-file prefix trie iteratively with a depth counter while dumping the prefixes that apply to a word. The counter is bounded only by the trie structure itself; it is never checked against the size of the fixed MAXWLEN-element stack arrays it indexes (prefix[], arridx[], curi[]). A crafted .spl file, loaded when the user dumps the word list, can drive the descent arbitrarily deep, so the function writes past the end of those arrays. This is a stack out-of-bounds write that corrupts the call frame and crashes the editor. This vulnerability is fixed in 9.2.0662.
References (3)
Core 3
Core References
X_Refsource_Confirm x_refsource_confirm
https://github.com/vim/vim/security/advisories/GHSA-qm9w-fmpj-879h
X_Refsource_Misc x_refsource_misc
https://github.com/vim/vim/commit/8325b193bba5f01e7a7d8241f
X_Refsource_Misc x_refsource_misc
https://github.com/vim/vim/releases/tag/v9.2.0662
Scores
CVSS v3
5.5
EPSS
0.0012
EPSS Percentile
2.3%
Attack Vector
LOCAL
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H
CISA SSVC
Vulnrichment
Exploitation
none
Automatable
no
Technical Impact
partial
Details
CWE
CWE-787
Status
published
Products (1)
vim/vim
< 9.2.0662 (2 CPE variants)
Published
Jun 25, 2026
Tracked Since
Jun 25, 2026