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.
Severity (CVSS)
| Base score | 5.5 |
|---|---|
| Severity | Medium |
| Version | CVSS 3.1 |
| Vector | CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H |
| Provided by | CNA |
Weaknesses
- CWE-787 — CWE-787: Out-of-bounds Write
Affected products
| Vendor | Product | Versions |
|---|---|---|
| vim | vim | < 9.2.0662 |
References
- https://github.com/vim/vim/security/advisories/GHSA-qm9w-fmpj-879h (x_refsource_CONFIRM)
- https://github.com/vim/vim/commit/8325b193bba5f01e7a7d8241f (x_refsource_MISC)
- https://github.com/vim/vim/releases/tag/v9.2.0662 (x_refsource_MISC)
Generated from the official CVE List on 26 Jun 2026 07:05 UTC.