Low · published November 23, 2023
Vim is a UNIX editor that, prior to version 9.0.2121, has a heap-use-after-free vulnerability. When executing a `:s` command for the very first time and using a sub-replace-special atom inside the substitution part, it is possible that the recursive `:s` call causes free-ing of memory which may later then be accessed by the initial `:s` command. The user must intentionally execute the payload and the whole process is a bit tricky to do since it seems to work only reliably for the very first :s command. It may also cause a crash of Vim. Version 9.0.2121 contains a fix for this issue.
| Product | Versions | Fixed in |
|---|---|---|
| fedoraproject/fedora | all versions | — |
| fedoraproject/fedora | all versions | — |
| netapp/hci_compute_node | all versions | — |
| neovim/neovim | ≤ 0.9.5 | — |
| vim/vim | < 9.0.2121 | 9.0.2121 |