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.
{ "availability": "No subscription required", "ubuntu_priority": "medium", "binaries": [ { "binary_version": "2:8.2.3995-1ubuntu2.15", "binary_name": "vim" }, { "binary_version": "2:8.2.3995-1ubuntu2.15", "binary_name": "vim-athena" }, { "binary_version": "2:8.2.3995-1ubuntu2.15", "binary_name": "vim-athena-dbgsym" }, { "binary_version": "2:8.2.3995-1ubuntu2.15", "binary_name": "vim-common" }, { "binary_version": "2:8.2.3995-1ubuntu2.15", "binary_name": "vim-dbgsym" }, { "binary_version": "2:8.2.3995-1ubuntu2.15", "binary_name": "vim-doc" }, { "binary_version": "2:8.2.3995-1ubuntu2.15", "binary_name": "vim-gtk" }, { "binary_version": "2:8.2.3995-1ubuntu2.15", "binary_name": "vim-gtk3" }, { "binary_version": "2:8.2.3995-1ubuntu2.15", "binary_name": "vim-gtk3-dbgsym" }, { "binary_version": "2:8.2.3995-1ubuntu2.15", "binary_name": "vim-gui-common" }, { "binary_version": "2:8.2.3995-1ubuntu2.15", "binary_name": "vim-nox" }, { "binary_version": "2:8.2.3995-1ubuntu2.15", "binary_name": "vim-nox-dbgsym" }, { "binary_version": "2:8.2.3995-1ubuntu2.15", "binary_name": "vim-runtime" }, { "binary_version": "2:8.2.3995-1ubuntu2.15", "binary_name": "vim-tiny" }, { "binary_version": "2:8.2.3995-1ubuntu2.15", "binary_name": "vim-tiny-dbgsym" }, { "binary_version": "2:8.2.3995-1ubuntu2.15", "binary_name": "xxd" }, { "binary_version": "2:8.2.3995-1ubuntu2.15", "binary_name": "xxd-dbgsym" } ] }
{ "availability": "No subscription required", "ubuntu_priority": "medium", "binaries": [ { "binary_version": "2:9.0.2116-1ubuntu2", "binary_name": "vim" }, { "binary_version": "2:9.0.2116-1ubuntu2", "binary_name": "vim-athena" }, { "binary_version": "2:9.0.2116-1ubuntu2", "binary_name": "vim-common" }, { "binary_version": "2:9.0.2116-1ubuntu2", "binary_name": "vim-dbgsym" }, { "binary_version": "2:9.0.2116-1ubuntu2", "binary_name": "vim-doc" }, { "binary_version": "2:9.0.2116-1ubuntu2", "binary_name": "vim-gtk3" }, { "binary_version": "2:9.0.2116-1ubuntu2", "binary_name": "vim-gtk3-dbgsym" }, { "binary_version": "2:9.0.2116-1ubuntu2", "binary_name": "vim-gui-common" }, { "binary_version": "2:9.0.2116-1ubuntu2", "binary_name": "vim-motif" }, { "binary_version": "2:9.0.2116-1ubuntu2", "binary_name": "vim-motif-dbgsym" }, { "binary_version": "2:9.0.2116-1ubuntu2", "binary_name": "vim-nox" }, { "binary_version": "2:9.0.2116-1ubuntu2", "binary_name": "vim-nox-dbgsym" }, { "binary_version": "2:9.0.2116-1ubuntu2", "binary_name": "vim-runtime" }, { "binary_version": "2:9.0.2116-1ubuntu2", "binary_name": "vim-tiny" }, { "binary_version": "2:9.0.2116-1ubuntu2", "binary_name": "vim-tiny-dbgsym" }, { "binary_version": "2:9.0.2116-1ubuntu2", "binary_name": "xxd" }, { "binary_version": "2:9.0.2116-1ubuntu2", "binary_name": "xxd-dbgsym" } ] }