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.
2:8.2.3995-1ubuntu2.332:9.1.0016-1ubuntu7.172:9.1.0967-1ubuntu6.82:9.1.2141-1ubuntu4.62:7.4.052-1ubuntu3.1+esm302:7.4.1689-3ubuntu1.5+esm362:8.0.1453-1ubuntu1.13+esm212:8.1.2269-1ubuntu5.32+esm9Exploitability
AV:LAC:LAT:NPR:NUI:AVulnerable System
VC:HVI:HVA:HSubsequent System
SC:NSI:NSA:NCVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:U