Description
Vim is an open source, command line text editor. Prior to 9.2.0653, the tree_count_words() function in src/spellfile.c fills in the word-count fields of a spell-file word trie by walking it iteratively with a depth counter. 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 (arridx[], curi[], wordcount[]). A crafted .spl/.sug file pair, loaded when the user invokes spell suggestion, 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.0653.
References (3)
Core 3
Core References
X_Refsource_Confirm x_refsource_confirm
https://github.com/vim/vim/security/advisories/GHSA-wgh4-64f7-q3jq
X_Refsource_Misc x_refsource_misc
https://github.com/vim/vim/commit/a80874d9b84a01040e3d1aef2d4a59e1934dafb7
X_Refsource_Misc x_refsource_misc
https://github.com/vim/vim/releases/tag/v9.2.0653
Scores
CVSS v3
7.8
EPSS
0.0013
EPSS Percentile
2.7%
Attack Vector
LOCAL
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
CISA SSVC
Vulnrichment
Exploitation
none
Automatable
no
Technical Impact
total
Details
CWE
CWE-787
Status
published
Products (1)
vim/vim
< 9.2.0653 (2 CPE variants)
Published
Jun 25, 2026
Tracked Since
Jun 25, 2026