CVE-2026-52860
Vim: Arbitrary Code Execution via Python Omni-Completion
Vim is an open source, command line text editor. Prior to version 9.2.0597, Vim's Python omni-completion executes reconstructed function and class definitions from the current buffer with exec() as part of populating the completion dictionary. Python evaluates function default values, parameter annotations, and class base expressions at definition time, so a hostile buffer can execute attacker-controlled Python expressions during omni-completion. The existing g:pythoncomplete_allow_import mitigation (GHSA-52mc-rq6p-rc7c) does not cover this path, because the attacker-controlled code is not a harvested import/from statement. This issue has been patched in version 9.2.0597.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- Active
What an attacker can affect
- Confidentiality
- High
- Integrity
- High
- Availability
- High
Exploit likelihood
What each source reports
CVE List Score used
7.5
Vim: Arbitrary Code Execution via Python Omni-Completion
Vim is an open source, command line text editor. Prior to version 9.2.0597, Vim's Python omni-completion executes reconstructed function and class definitions from the current buffer with exec() as part of populating the completion dictionary. Python evaluates function default values, parameter annotations, and class base expressions at definition time, so a hostile buffer can execute attacker-controlled Python expressions during omni-completion. The existing g:pythoncomplete_allow_import mitigation (GHSA-52mc-rq6p-rc7c) does not cover this path, because the attacker-controlled code is not a harvested import/from statement. This issue has been patched in version 9.2.0597.
- Record
CVE-2026-52860- CVSS 4.0
- 7.5 High
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N - CVSS 3.1
- 8.0 High
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H - Weakness
- CWE-94, CWE-94
- Updated
- 2026-11-02
EUVDEUVD-2026-36285
7.5
Vim is an open source, command line text editor. Prior to version 9.2.0597, Vim's Python omni-completion executes reconstructed function and class definitions from the current buffer with exec() as part of populating the completion dictionary. Python evaluates function default values, parameter annotations, and class base expressions at definition time, so a hostile buffer can execute attacker-controlled Python expressions during omni-completion. The existing g:pythoncomplete_allow_import mitigation (GHSA-52mc-rq6p-rc7c) does not cover this path, because the attacker-controlled code is not a harvested import/from statement. This issue has been patched in version 9.2.0597.
- Record
EUVD-2026-36285- CVSS 4.0
- 7.5 High
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N - Updated
- 2026-11-02
NVD
7.5
Vim is an open source, command line text editor. Prior to version 9.2.0597, Vim's Python omni-completion executes reconstructed function and class definitions from the current buffer with exec() as part of populating the completion dictionary. Python evaluates function default values, parameter annotations, and class base expressions at definition time, so a hostile buffer can execute attacker-controlled Python expressions during omni-completion. The existing g:pythoncomplete_allow_import mitigation (GHSA-52mc-rq6p-rc7c) does not cover this path, because the attacker-controlled code is not a harvested import/from statement. This issue has been patched in version 9.2.0597.
- Record
CVE-2026-52860- CVSS 4.0
- 7.5 High
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X - CVSS 3.1
- 7.8 High
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H - CVSS 3.1
- 8.0 High
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H - Weakness
- CWE-94
- Updated
- 2026-11-02
OSVALPINE-CVE-2026-52860
7.8
Vim is an open source, command line text editor. Prior to version 9.2.0597, Vim's Python omni-completion executes reconstructed function and class definitions from the current buffer with exec() as part of populating the completion dictionary. Python evaluates function default values, parameter annotations, and class base expressions at definition time, so a hostile buffer can execute attacker-controlled Python expressions during omni-completion. The existing g:pythoncomplete_allow_import mitigation (GHSA-52mc-rq6p-rc7c) does not cover this path, because the attacker-controlled code is not a harvested import/from statement. This issue has been patched in version 9.2.0597.
- Record
ALPINE-CVE-2026-52860- CVSS 3.1
- 7.8 High
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H - Updated
- 2026-11-03
OSVBELL-CVE-2026-52860
7.8
- Record
BELL-CVE-2026-52860- CVSS 3.1
- 7.8 High
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSV
7.5
Vim: Arbitrary Code Execution via Python Omni-Completion
Vim is an open source, command line text editor. Prior to version 9.2.0597, Vim's Python omni-completion executes reconstructed function and class definitions from the current buffer with exec() as part of populating the completion dictionary. Python evaluates function default values, parameter annotations, and class base expressions at definition time, so a hostile buffer can execute attacker-controlled Python expressions during omni-completion. The existing g:pythoncomplete_allow_import mitigation (GHSA-52mc-rq6p-rc7c) does not cover this path, because the attacker-controlled code is not a harvested import/from statement. This issue has been patched in version 9.2.0597.
- Record
CVE-2026-52860- CVSS 4.0
- 7.5 High
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N - Weakness
- CWE-94
- Updated
- 2026-11-02
Show 18 moreShow less
OSVDEBIAN-CVE-2026-52860
7.8
Vim is an open source, command line text editor. Prior to version 9.2.0597, Vim's Python omni-completion executes reconstructed function and class definitions from the current buffer with exec() as part of populating the completion dictionary. Python evaluates function default values, parameter annotations, and class base expressions at definition time, so a hostile buffer can execute attacker-controlled Python expressions during omni-completion. The existing g:pythoncomplete_allow_import mitigation (GHSA-52mc-rq6p-rc7c) does not cover this path, because the attacker-controlled code is not a harvested import/from statement. This issue has been patched in version 9.2.0597.
- Record
DEBIAN-CVE-2026-52860- CVSS 3.1
- 7.8 High
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSVOESA-2026-2761
7.5
vim security update
Vim is an advanced text editor that seeks to provide the power of the de-facto Unix editor 'Vi', with a more complete feature set. Vim is a highly configurable text editor built to enable efficient text editing. It is an improved version of the vi editor distributed with most UNIX systems.
Security Fix(es):
Vim is an open source, command line text editor. Prior to version 9.2.0495, a Vimscript code injection vulnerability exists in s:NetrwBookHistSave() in the netrw plugin (runtime/pack/dist/opt/netrw/autoload/netrw.vim) when serializing browsed directory paths to the history file ~/.vim/.netrwhist. A directory name derived from the filesystem is interpolated into a single-quoted Vimscript string literal without escaping embedded single quotes, allowing a crafted directory name to break out of the string context and execute arbitrary Vimscript, including shell commands via system() and :!, the next time the history file is sourced. This issue has been patched in version 9.2.0495.(CVE-2026-47162)
Vim is an open source, command line text editor. Prior to version 9.2.0496, a code injection vulnerability exists in s:stepmatch() in the cucumber filetype plugin (runtime/ftplugin/cucumber.vim) on Vim builds with +ruby support. Step-definition patterns read from .rb files under the repository's features// or stories// directories are embedded into a Ruby Kernel.eval argument without sufficient escaping, allowing a crafted pattern in an attacker-controlled repository to execute arbitrary Ruby (and through it arbitrary shell commands) when the user invokes a step-jump mapping ([d, ]d). This issue has been patched in version 9.2.0496.(CVE-2026-47167)
Vim is an open source, command line text editor. Prior to version 9.2.0561, the Python omni-completion script in python3complete.vim for Vim with the +python3 interpreter enabled (and the legacy pythoncomplete.vim for builds with the +python interpreter) executes the import and from statements found in the current buffer through Python's import machinery. Because the buffer's working directory is on sys.path, opening a hostile .py file with a sibling Python package and invoking omni-completion runs that package's top-level code as the editing user. This issue has been patched in version 9.2.0561.(CVE-2026-52858)
Vim is an open source, command line text editor. Prior to version 9.2.0565, the update_snapshot() function in src/terminal.c copies the visible terminal screen into the scrollback buffer when a snapshot is taken. For each screen cell it walks the cell's chars[] array with no upper bound, stopping only when it encounters a NUL terminator. When a cell legitimately fills all VTERM_MAX_CHARS_PER_CELL (6) slots — a base character plus five combining marks — the bundled libvterm returns the array without a terminating NUL, so the loop reads past the fixed six-element array and appends the out-of-bounds values to a buffer reserved for only six characters. A program whose output is rendered inside a :terminal window can trigger this with a short byte sequence and no Vim scripting, leading to a crash. This issue has been patched in version 9.2.0565.(CVE-2026-52859)
Vim is an open source, command line text editor. Prior to version 9.2.0597, Vim's Python omni-completion executes reconstructed function and class definitions from the current buffer with exec() as part of populating the completion dictionary. Python evaluates function default values, parameter annotations, and class base expressions at definition time, so a hostile buffer can execute attacker-controlled Python expressions during omni-completion. The existing g:pythoncomplete_allow_import mitigation (GHSA-52mc-rq6p-rc7c) does not cover this path, because the attacker-controlled code is not a harvested import/from statement. This issue has been patched in version 9.2.0597.(CVE-2026-52860)
- Record
OESA-2026-2761- CVSS 4.0
- 7.5 High
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N - Updated
- 2026-11-02
OSVOESA-2026-2762
7.5
vim security update
Vim is an advanced text editor that seeks to provide the power of the de-facto Unix editor 'Vi', with a more complete feature set. Vim is a highly configurable text editor built to enable efficient text editing. It is an improved version of the vi editor distributed with most UNIX systems.
Security Fix(es):
Vim is an open source, command line text editor. Prior to version 9.2.0495, a Vimscript code injection vulnerability exists in s:NetrwBookHistSave() in the netrw plugin (runtime/pack/dist/opt/netrw/autoload/netrw.vim) when serializing browsed directory paths to the history file ~/.vim/.netrwhist. A directory name derived from the filesystem is interpolated into a single-quoted Vimscript string literal without escaping embedded single quotes, allowing a crafted directory name to break out of the string context and execute arbitrary Vimscript, including shell commands via system() and :!, the next time the history file is sourced. This issue has been patched in version 9.2.0495.(CVE-2026-47162)
Vim is an open source, command line text editor. Prior to version 9.2.0496, a code injection vulnerability exists in s:stepmatch() in the cucumber filetype plugin (runtime/ftplugin/cucumber.vim) on Vim builds with +ruby support. Step-definition patterns read from .rb files under the repository's features// or stories// directories are embedded into a Ruby Kernel.eval argument without sufficient escaping, allowing a crafted pattern in an attacker-controlled repository to execute arbitrary Ruby (and through it arbitrary shell commands) when the user invokes a step-jump mapping ([d, ]d). This issue has been patched in version 9.2.0496.(CVE-2026-47167)
Vim is an open source, command line text editor. Prior to version 9.2.0561, the Python omni-completion script in python3complete.vim for Vim with the +python3 interpreter enabled (and the legacy pythoncomplete.vim for builds with the +python interpreter) executes the import and from statements found in the current buffer through Python's import machinery. Because the buffer's working directory is on sys.path, opening a hostile .py file with a sibling Python package and invoking omni-completion runs that package's top-level code as the editing user. This issue has been patched in version 9.2.0561.(CVE-2026-52858)
Vim is an open source, command line text editor. Prior to version 9.2.0565, the update_snapshot() function in src/terminal.c copies the visible terminal screen into the scrollback buffer when a snapshot is taken. For each screen cell it walks the cell's chars[] array with no upper bound, stopping only when it encounters a NUL terminator. When a cell legitimately fills all VTERM_MAX_CHARS_PER_CELL (6) slots — a base character plus five combining marks — the bundled libvterm returns the array without a terminating NUL, so the loop reads past the fixed six-element array and appends the out-of-bounds values to a buffer reserved for only six characters. A program whose output is rendered inside a :terminal window can trigger this with a short byte sequence and no Vim scripting, leading to a crash. This issue has been patched in version 9.2.0565.(CVE-2026-52859)
Vim is an open source, command line text editor. Prior to version 9.2.0597, Vim's Python omni-completion executes reconstructed function and class definitions from the current buffer with exec() as part of populating the completion dictionary. Python evaluates function default values, parameter annotations, and class base expressions at definition time, so a hostile buffer can execute attacker-controlled Python expressions during omni-completion. The existing g:pythoncomplete_allow_import mitigation (GHSA-52mc-rq6p-rc7c) does not cover this path, because the attacker-controlled code is not a harvested import/from statement. This issue has been patched in version 9.2.0597.(CVE-2026-52860)
- Record
OESA-2026-2762- CVSS 4.0
- 7.5 High
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N - Updated
- 2026-11-02
OSVOESA-2026-2763
7.5
vim security update
Vim is an advanced text editor that seeks to provide the power of the de-facto Unix editor 'Vi', with a more complete feature set. Vim is a highly configurable text editor built to enable efficient text editing. It is an improved version of the vi editor distributed with most UNIX systems.
Security Fix(es):
Vim is an open source, command line text editor. Prior to version 9.2.0495, a Vimscript code injection vulnerability exists in s:NetrwBookHistSave() in the netrw plugin (runtime/pack/dist/opt/netrw/autoload/netrw.vim) when serializing browsed directory paths to the history file ~/.vim/.netrwhist. A directory name derived from the filesystem is interpolated into a single-quoted Vimscript string literal without escaping embedded single quotes, allowing a crafted directory name to break out of the string context and execute arbitrary Vimscript, including shell commands via system() and :!, the next time the history file is sourced. This issue has been patched in version 9.2.0495.(CVE-2026-47162)
Vim is an open source, command line text editor. Prior to version 9.2.0496, a code injection vulnerability exists in s:stepmatch() in the cucumber filetype plugin (runtime/ftplugin/cucumber.vim) on Vim builds with +ruby support. Step-definition patterns read from .rb files under the repository's features// or stories// directories are embedded into a Ruby Kernel.eval argument without sufficient escaping, allowing a crafted pattern in an attacker-controlled repository to execute arbitrary Ruby (and through it arbitrary shell commands) when the user invokes a step-jump mapping ([d, ]d). This issue has been patched in version 9.2.0496.(CVE-2026-47167)
Vim is an open source, command line text editor. Prior to version 9.2.0561, the Python omni-completion script in python3complete.vim for Vim with the +python3 interpreter enabled (and the legacy pythoncomplete.vim for builds with the +python interpreter) executes the import and from statements found in the current buffer through Python's import machinery. Because the buffer's working directory is on sys.path, opening a hostile .py file with a sibling Python package and invoking omni-completion runs that package's top-level code as the editing user. This issue has been patched in version 9.2.0561.(CVE-2026-52858)
Vim is an open source, command line text editor. Prior to version 9.2.0565, the update_snapshot() function in src/terminal.c copies the visible terminal screen into the scrollback buffer when a snapshot is taken. For each screen cell it walks the cell's chars[] array with no upper bound, stopping only when it encounters a NUL terminator. When a cell legitimately fills all VTERM_MAX_CHARS_PER_CELL (6) slots — a base character plus five combining marks — the bundled libvterm returns the array without a terminating NUL, so the loop reads past the fixed six-element array and appends the out-of-bounds values to a buffer reserved for only six characters. A program whose output is rendered inside a :terminal window can trigger this with a short byte sequence and no Vim scripting, leading to a crash. This issue has been patched in version 9.2.0565.(CVE-2026-52859)
Vim is an open source, command line text editor. Prior to version 9.2.0597, Vim's Python omni-completion executes reconstructed function and class definitions from the current buffer with exec() as part of populating the completion dictionary. Python evaluates function default values, parameter annotations, and class base expressions at definition time, so a hostile buffer can execute attacker-controlled Python expressions during omni-completion. The existing g:pythoncomplete_allow_import mitigation (GHSA-52mc-rq6p-rc7c) does not cover this path, because the attacker-controlled code is not a harvested import/from statement. This issue has been patched in version 9.2.0597.(CVE-2026-52860)
- Record
OESA-2026-2763- CVSS 4.0
- 7.5 High
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N - Updated
- 2026-11-02
OSVOESA-2026-2863
7.5
vim security update
Vim is an advanced text editor that seeks to provide the power of the de-facto Unix editor 'Vi', with a more complete feature set. Vim is a highly configurable text editor built to enable efficient text editing. It is an improved version of the vi editor distributed with most UNIX systems.
Security Fix(es):
Vim is an open source, command line text editor. Prior to version 9.2.0495, a Vimscript code injection vulnerability exists in s:NetrwBookHistSave() in the netrw plugin (runtime/pack/dist/opt/netrw/autoload/netrw.vim) when serializing browsed directory paths to the history file ~/.vim/.netrwhist. A directory name derived from the filesystem is interpolated into a single-quoted Vimscript string literal without escaping embedded single quotes, allowing a crafted directory name to break out of the string context and execute arbitrary Vimscript, including shell commands via system() and :!, the next time the history file is sourced. This issue has been patched in version 9.2.0495.(CVE-2026-47162)
Vim is an open source, command line text editor. Prior to version 9.2.0496, a code injection vulnerability exists in s:stepmatch() in the cucumber filetype plugin (runtime/ftplugin/cucumber.vim) on Vim builds with +ruby support. Step-definition patterns read from .rb files under the repository's features// or stories// directories are embedded into a Ruby Kernel.eval argument without sufficient escaping, allowing a crafted pattern in an attacker-controlled repository to execute arbitrary Ruby (and through it arbitrary shell commands) when the user invokes a step-jump mapping ([d, ]d). This issue has been patched in version 9.2.0496.(CVE-2026-47167)
Vim is an open source, command line text editor. Prior to version 9.2.0561, the Python omni-completion script in python3complete.vim for Vim with the +python3 interpreter enabled (and the legacy pythoncomplete.vim for builds with the +python interpreter) executes the import and from statements found in the current buffer through Python's import machinery. Because the buffer's working directory is on sys.path, opening a hostile .py file with a sibling Python package and invoking omni-completion runs that package's top-level code as the editing user. This issue has been patched in version 9.2.0561.(CVE-2026-52858)
Vim is an open source, command line text editor. Prior to version 9.2.0565, the update_snapshot() function in src/terminal.c copies the visible terminal screen into the scrollback buffer when a snapshot is taken. For each screen cell it walks the cell's chars[] array with no upper bound, stopping only when it encounters a NUL terminator. When a cell legitimately fills all VTERM_MAX_CHARS_PER_CELL (6) slots — a base character plus five combining marks — the bundled libvterm returns the array without a terminating NUL, so the loop reads past the fixed six-element array and appends the out-of-bounds values to a buffer reserved for only six characters. A program whose output is rendered inside a :terminal window can trigger this with a short byte sequence and no Vim scripting, leading to a crash. This issue has been patched in version 9.2.0565.(CVE-2026-52859)
Vim is an open source, command line text editor. Prior to version 9.2.0597, Vim's Python omni-completion executes reconstructed function and class definitions from the current buffer with exec() as part of populating the completion dictionary. Python evaluates function default values, parameter annotations, and class base expressions at definition time, so a hostile buffer can execute attacker-controlled Python expressions during omni-completion. The existing g:pythoncomplete_allow_import mitigation (GHSA-52mc-rq6p-rc7c) does not cover this path, because the attacker-controlled code is not a harvested import/from statement. This issue has been patched in version 9.2.0597.(CVE-2026-52860)
- Record
OESA-2026-2863- CVSS 4.0
- 7.5 High
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N - Updated
- 2026-11-02
OSVRHSA-2026:57614
8.2
Red Hat Security Advisory: Red Hat Hardened Images RPMs bug fix and enhancement update
- Record
RHSA-2026:57614- CVSS 3.1
- 8.2 High
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:N - Updated
- 2026-11-02
OSVUBUNTU-CVE-2026-52860
7.5
Vim is an open source, command line text editor. Prior to version 9.2.0597, Vim's Python omni-completion executes reconstructed function and class definitions from the current buffer with exec() as part of populating the completion dictionary. Python evaluates function default values, parameter annotations, and class base expressions at definition time, so a hostile buffer can execute attacker-controlled Python expressions during omni-completion. The existing g:pythoncomplete_allow_import mitigation (GHSA-52mc-rq6p-rc7c) does not cover this path, because the attacker-controlled code is not a harvested import/from statement. This issue has been patched in version 9.2.0597.
- Record
UBUNTU-CVE-2026-52860- CVSS 4.0
- 7.5 High
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N - CVSS 3.1
- 8.0 High
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H - CVSS 3.1
- 7.8 High
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSVAZL-89769 No score
CVE-2026-52860 affecting package vim for versions less than 9.2.0620-1
Vim is an open source, command line text editor. Prior to version 9.2.0597, Vim's Python omni-completion executes reconstructed function and class definitions from the current buffer with exec() as part of populating the completion dictionary. Python evaluates function default values, parameter annotations, and class base expressions at definition time, so a hostile buffer can execute attacker-controlled Python expressions during omni-completion. The existing g:pythoncomplete_allow_import mitigation (GHSA-52mc-rq6p-rc7c) does not cover this path, because the attacker-controlled code is not a harvested import/from statement. This issue has been patched in version 9.2.0597.
- Record
AZL-89769- Updated
- 2026-11-02
OSVCLSA-2026-1782221662 No score
Fix CVE(s): CVE-2026-47162, CVE-2026-52858, CVE-2026-52859, CVE-2026-52860
- SECURITY UPDATE: Code execution via Python omni-completion executing import and from statements harvested from the current buffer through exec() (gate buffer-derived import execution behind the new g:pythoncomplete_allow_import option, disabled by default)
- debian/patches/CVE-2026-52858.patch: disable execution of import and from statements found in the buffer during python3complete and pythoncomplete omni-completion unless g:pythoncomplete_allow_import is set
- CVE-2026-52858
- SECURITY UPDATE: Out-of-bounds read in update_snapshot() in src/terminal.c when a terminal cell fills all VTERM_MAX_CHARS_PER_CELL slots and the bundled libvterm returns the chars array without a NUL terminator
- debian/patches/CVE-2026-52859.patch: bound the cell.chars[] copy loop in update_snapshot() with i < VTERM_MAX_CHARS_PER_CELL to prevent reading past the fixed six-element array
- CVE-2026-52859
- SECURITY UPDATE: Code execution via Python omni-completion evaluating function default values, parameter annotations, and class base expressions reconstructed from the current buffer and run through exec()
- debian/patches/CVE-2026-52860.patch: strip default expressions and annotations from generated function parameters and whitelist dotted class base expressions in python3complete and pythoncomplete get_code() so attacker-controlled expressions are not executed
- CVE-2026-52860
- Record
CLSA-2026-1782221662- Updated
- 2026-11-02
OSVCLSA-2026-1782221997 No score
vim: Fix of 4 CVEs
- CVE-2026-52858: disable execution of import/from statements harvested from the buffer during python omni-completion (pythoncomplete/python3complete), gated behind the opt-in g:pythoncomplete_allow_import (upstream 9.2.0561 and 9.2.0568)
- CVE-2026-52860: strip parameter default values and annotations and whitelist class base expressions before exec() of reconstructed function/class source in python omni-completion (upstream 9.2.0597)
- Record
CLSA-2026-1782221997- Updated
- 2026-11-02
OSVCLSA-2026-1782223154 No score
vim: Fix of 2 CVEs
- CVE-2026-52858: disable execution of import/from statements harvested from the buffer during python omni-completion (pythoncomplete/python3complete), gated behind the opt-in g:pythoncomplete_allow_import (upstream 9.2.0561 and 9.2.0568)
- CVE-2026-52860: strip parameter default values and annotations and whitelist class base expressions before exec() of reconstructed function/class source in python omni-completion (upstream 9.2.0597)
- Record
CLSA-2026-1782223154- Updated
- 2026-11-02
OSVCLSA-2026-1782294876 No score
Fix CVE(s): CVE-2026-52858, CVE-2026-52860
- SECURITY UPDATE: arbitrary code execution in the python and python3
omni-completion plugins: Completer.evalsource() executed import and
from statements harvested from the current buffer through Python's
import machinery, and because the buffer's directory is on sys.path,
opening a hostile .py file alongside a sibling package ran attacker
controlled code on omni-completion.
- debian/patches/CVE-2026-52858.patch: skip execution of buffer level import/from statements unless the user opts in by setting g:pythoncomplete_allow_import, and re-import the vim module inside evalsource() so the opt-in is honoured, in runtime/autoload/python3complete.vim and runtime/autoload/pythoncomplete.vim; matches upstream patches 9.2.0561 and 9.2.0568.
- CVE-2026-52858
- SECURITY UPDATE: arbitrary code execution in the python and python3
omni-completion plugins: the completion code reconstructed function
and class definitions from the current buffer and ran them through
exec(), and because Python evaluates parameter default values,
parameter annotations and class base expressions at definition time,
a hostile buffer could execute attacker controlled expressions via
crafted def/class headers; the g:pythoncomplete_allow_import
mitigation did not cover this path.
- debian/patches/CVE-2026-52860.patch: strip default values and annotations from reconstructed function parameter lists and whitelist class base lists to dotted names before the generated source reaches exec(), in runtime/autoload/python3complete.vim and runtime/autoload/pythoncomplete.vim; matches upstream patch 9.2.0597.
- CVE-2026-52860
- Record
CLSA-2026-1782294876- Updated
- 2026-11-02
OSVCLSA-2026-1782299449 No score
vim: Fix of CVE-2026-52860
- CVE-2026-52860: fix possible code execution in python3complete/pythoncomplete by stripping default expressions and annotations from function parameter lists and whitelisting class bases to dotted names before exec() (upstream patch 9.2.0597)
- Record
CLSA-2026-1782299449- Updated
- 2026-11-02
OSVCLSA-2026-1782299648 No score
vim: Fix of CVE-2026-52860
- CVE-2026-52860: fix possible code execution in python3complete/pythoncomplete by stripping default expressions and annotations from function parameter lists and whitelisting class bases to dotted names before exec() (upstream patch 9.2.0597)
- Record
CLSA-2026-1782299648- Updated
- 2026-11-02
OSVCLSA-2026-1787394930 No score
Fix of 10 CVEs
- SECURITY UPDATE: command injection in the tar plugin: tar#Vimuntar()
escaped the tarball name with shellescape() without the special
argument before running gunzip/gzip through :!, so characters that Vim
expands in a :! command line (such as % and #) survived in the name
and let a crafted archive name run arbitrary shell commands.
- debian/patches/CVE-2026-46483.patch: use the shellescape(name, 1) form for both :! invocations in runtime/autoload/tar.vim; matches upstream patch 9.2.0479.
- CVE-2026-46483
- SECURITY UPDATE: code injection via netrw directory history:
s:NetrwBookHistSave() serialised each history entry into
~/.vim/.netrwhist by wrapping the value in single quotes with string
concatenation, so a directory name containing a single quote closed
the literal and injected Vimscript that ran when the history file was
sourced on the next netrw start.
- debian/patches/CVE-2026-47162.patch: encode the value with string() in runtime/autoload/netrw.vim; matches upstream patch 9.2.0495.
- CVE-2026-47162
- SECURITY UPDATE: code execution through Python omni-completion:
pythoncomplete and python3complete rebuilt the buffer's Python code
and passed it to exec(), including the import and from statements
harvested from the buffer, so invoking omni-completion in a hostile
Python file executed arbitrary module-level code.
- debian/patches/CVE-2026-52858.patch: skip import/from statements unless g:pythoncomplete_allow_import is set, in both runtime/autoload/pythoncomplete.vim and python3complete.vim; matches upstream patches 9.2.0561 and 9.2.0568, the latter being required for the opt-in to take effect at all.
- CVE-2026-52858
- SECURITY UPDATE: out-of-bounds access when a terminal buffer is
snapshotted: the per-cell loop in move_terminal_to_buffer() walked
cell.chars[] with no upper bound, and libvterm leaves that array
unterminated when a cell uses all VTERM_MAX_CHARS_PER_CELL slots (a
base character plus five combining marks), so it read past the array
and appended the out-of-bounds values to a buffer sized for far fewer
bytes.
- debian/patches/CVE-2026-52859.patch: bound the loop with i < VTERM_MAX_CHARS_PER_CELL and size the buffer for six 6-byte characters, in src/terminal.c; matches upstream patch 9.2.0565 together with its prerequisite 8.1.0611, without which the bounded loop would still overrun the MB_MAXBYTES-sized buffer.
- CVE-2026-52859
- SECURITY UPDATE: code execution through Python omni-completion
definition headers: Scope.get_code() reproduced def and class headers
verbatim in the source handed to exec(), and Python evaluates
parameter default values, annotations and base-class expressions at
definition time, so crafted headers ran arbitrary code during
completion even with imports disabled.
- debian/patches/CVE-2026-52860.patch: strip default values and annotations from parameters and accept only dotted names as base classes, in both runtime/autoload/pythoncomplete.vim and python3complete.vim; matches upstream patch 9.2.0597.
- CVE-2026-52860
- SECURITY UPDATE: out-of-bounds write reading a crafted spell file:
tree_count_words() and sug_filltree() descended the word trie without
bounding the depth, so a deeply nested trie wrote past the ends of
their MAXWLEN-sized arridx[], curi[] and wordcount[] arrays.
- debian/patches/CVE-2026-55693.patch: only descend while depth < MAXWLEN - 1 in both trie walkers, in src/spellfile.c; matches upstream patch 9.2.0653.
- CVE-2026-55693
- SECURITY UPDATE: code injection when netrw opens a remote file: s:NetrwBrowse() passed bufname() unescaped into an :execute'd "b" command, so a buffer name containing the Ex command separator ran arbitrary…
- Record
CLSA-2026-1787394930- Updated
- 2026-11-02
OSVMGASA-2026-0240 No score
Updated vim packages fix security vulnerabilities
The updated packages fix security vulnerabilities: Arbitrary Code Execution via Python Omni-Completion in Vim < 9.2.0561. (CVE-2026-52858) Out-of-bounds Read in Terminal Screen Snapshot in Vim < 9.2.0565. (CVE-2026-52859) Arbitrary Code Execution via Python Omni-Completion in Vim < 9.2.0597. (CVE-2026-52860) Out-of-bounds Write in Spell File Word Count in Vim < 9.2.0653. (CVE-2026-55693) Out-of-bounds Write in Spell File Prefix Dump in Vim < 9.2.0662. (CVE-2026-55892) Vimscript Code Injection in netrw NetrwLocalRmFile() via crafted filename affects Vim < 9.2.0663. (CVE-2026-55895) Out-of-bounds Read in Text Property Count in Vim < 9.2.0670. (CVE-2026-57451) Out-of-bounds Read with libsodium-encrypted Files in Vim < 9.2.0671. (CVE-2026-57452) PowerShell Command Injection in zip.vim via Crafted Archive Entry Names in Vim > 9.1.1783 && Vim < 9.2.0678. (CVE-2026-57453) Out-of-bounds Read with Text Properties in Vim >= 9.2.0320 && Vim < 9.2.0679. (CVE-2026-57454) Out-of-bounds Write in SOFO Soundfolding in Vim < 9.2.0698. (CVE-2026-57455) Arbitrary Code Execution via Python Omni-Completion Docstrings in Vim < 9.2.0699. (CVE-2026-57456)
- Record
MGASA-2026-0240- Updated
- 2026-11-02
OSVROOT-OS-DEBIAN-11-CVE-2026-52860 No score
CVE-2026-52860 in vim - Patched by Root
Root has patched CVE-2026-52860 in the vim package for Root:Debian:11. Multiple fixed versions available.
- Record
ROOT-OS-DEBIAN-11-CVE-2026-52860- Updated
- 2026-11-02
OSVROOT-OS-DEBIAN-12-CVE-2026-52860 No score
CVE-2026-52860 in vim - Patched by Root
Root has patched CVE-2026-52860 in the vim package for Root:Debian:12. Multiple fixed versions available.
- Record
ROOT-OS-DEBIAN-12-CVE-2026-52860- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
vimAlpine:v3.23 |
before 9.2.0602-r0 | 9.2.0602-r0 |
vimAlpine:v3.24 |
before 9.2.0602-r0 | 9.2.0602-r0 |
vimAzure Linux:3 |
before 9.2.0620-1 | 9.2.0620-1 |
vimAlpaquita:23 |
9.0.0820-r2 up to 9.2.0602-r0 | 9.2.0602-r0 |
vimAlpaquita:25 |
9.1.1415-r0 up to 9.2.0602-r0 | 9.2.0602-r0 |
vimAlpaquita:stream |
9.0.1395-r0 up to 9.2.0602-r0 | 9.2.0602-r0 |
vimTuxCare:Debian:10 From an advisory covering 4 CVEs |
before 2:8.1.0875-5+deb10u6+tuxcare.els22 | 2:8.1.0875-5+deb10u6+tuxcare.els22 |
vim-athenaTuxCare:Debian:10 From an advisory covering 4 CVEs |
before 2:8.1.0875-5+deb10u6+tuxcare.els22 | 2:8.1.0875-5+deb10u6+tuxcare.els22 |
vim-commonTuxCare:Debian:10 From an advisory covering 4 CVEs |
before 2:8.1.0875-5+deb10u6+tuxcare.els22 | 2:8.1.0875-5+deb10u6+tuxcare.els22 |
vim-docTuxCare:Debian:10 From an advisory covering 4 CVEs |
before 2:8.1.0875-5+deb10u6+tuxcare.els22 | 2:8.1.0875-5+deb10u6+tuxcare.els22 |
Show 85 moreShow less
| Package | Affected | Fixed |
|---|---|---|
vim-gtkTuxCare:Debian:10 From an advisory covering 4 CVEs |
before 2:8.1.0875-5+deb10u6+tuxcare.els22 | 2:8.1.0875-5+deb10u6+tuxcare.els22 |
vim-gtk3TuxCare:Debian:10 From an advisory covering 4 CVEs |
before 2:8.1.0875-5+deb10u6+tuxcare.els22 | 2:8.1.0875-5+deb10u6+tuxcare.els22 |
vim-gui-commonTuxCare:Debian:10 From an advisory covering 4 CVEs |
before 2:8.1.0875-5+deb10u6+tuxcare.els22 | 2:8.1.0875-5+deb10u6+tuxcare.els22 |
vim-noxTuxCare:Debian:10 From an advisory covering 4 CVEs |
before 2:8.1.0875-5+deb10u6+tuxcare.els22 | 2:8.1.0875-5+deb10u6+tuxcare.els22 |
vim-runtimeTuxCare:Debian:10 From an advisory covering 4 CVEs |
before 2:8.1.0875-5+deb10u6+tuxcare.els22 | 2:8.1.0875-5+deb10u6+tuxcare.els22 |
vim-tinyTuxCare:Debian:10 From an advisory covering 4 CVEs |
before 2:8.1.0875-5+deb10u6+tuxcare.els22 | 2:8.1.0875-5+deb10u6+tuxcare.els22 |
xxdTuxCare:Debian:10 From an advisory covering 4 CVEs |
before 2:8.1.0875-5+deb10u6+tuxcare.els22 | 2:8.1.0875-5+deb10u6+tuxcare.els22 |
vim-X11TuxCare:OracleLinux:7 From an advisory covering 2 CVEs |
before 2:7.4.629-8.0.1.el7_9.tuxcare.els21 | 2:7.4.629-8.0.1.el7_9.tuxcare.els21 |
vim-commonTuxCare:OracleLinux:7 From an advisory covering 2 CVEs |
before 2:7.4.629-8.0.1.el7_9.tuxcare.els21 | 2:7.4.629-8.0.1.el7_9.tuxcare.els21 |
vim-enhancedTuxCare:OracleLinux:7 From an advisory covering 2 CVEs |
before 2:7.4.629-8.0.1.el7_9.tuxcare.els21 | 2:7.4.629-8.0.1.el7_9.tuxcare.els21 |
vim-filesystemTuxCare:OracleLinux:7 From an advisory covering 2 CVEs |
before 2:7.4.629-8.0.1.el7_9.tuxcare.els21 | 2:7.4.629-8.0.1.el7_9.tuxcare.els21 |
vim-minimalTuxCare:OracleLinux:7 From an advisory covering 2 CVEs |
before 2:7.4.629-8.0.1.el7_9.tuxcare.els21 | 2:7.4.629-8.0.1.el7_9.tuxcare.els21 |
vim-X11TuxCare:CentOS:7 From an advisory covering 2 CVEs |
before 2:7.4.629-8.0.1.el7_9.tuxcare.els21 | 2:7.4.629-8.0.1.el7_9.tuxcare.els21 |
vim-commonTuxCare:CentOS:7 From an advisory covering 2 CVEs |
before 2:7.4.629-8.0.1.el7_9.tuxcare.els21 | 2:7.4.629-8.0.1.el7_9.tuxcare.els21 |
vim-enhancedTuxCare:CentOS:7 From an advisory covering 2 CVEs |
before 2:7.4.629-8.0.1.el7_9.tuxcare.els21 | 2:7.4.629-8.0.1.el7_9.tuxcare.els21 |
vim-filesystemTuxCare:CentOS:7 From an advisory covering 2 CVEs |
before 2:7.4.629-8.0.1.el7_9.tuxcare.els21 | 2:7.4.629-8.0.1.el7_9.tuxcare.els21 |
vim-minimalTuxCare:CentOS:7 From an advisory covering 2 CVEs |
before 2:7.4.629-8.0.1.el7_9.tuxcare.els21 | 2:7.4.629-8.0.1.el7_9.tuxcare.els21 |
vimTuxCare:Ubuntu:16.04 From an advisory covering 2 CVEs |
before 3:7.4.1689-3ubuntu1.5+tuxcare.els69 | 3:7.4.1689-3ubuntu1.5+tuxcare.els69 |
vim-athenaTuxCare:Ubuntu:16.04 From an advisory covering 2 CVEs |
before 3:7.4.1689-3ubuntu1.5+tuxcare.els69 | 3:7.4.1689-3ubuntu1.5+tuxcare.els69 |
vim-athena-py2TuxCare:Ubuntu:16.04 From an advisory covering 2 CVEs |
before 3:7.4.1689-3ubuntu1.5+tuxcare.els69 | 3:7.4.1689-3ubuntu1.5+tuxcare.els69 |
vim-commonTuxCare:Ubuntu:16.04 From an advisory covering 2 CVEs |
before 3:7.4.1689-3ubuntu1.5+tuxcare.els69 | 3:7.4.1689-3ubuntu1.5+tuxcare.els69 |
vim-docTuxCare:Ubuntu:16.04 From an advisory covering 2 CVEs |
before 3:7.4.1689-3ubuntu1.5+tuxcare.els69 | 3:7.4.1689-3ubuntu1.5+tuxcare.els69 |
vim-gnomeTuxCare:Ubuntu:16.04 From an advisory covering 2 CVEs |
before 3:7.4.1689-3ubuntu1.5+tuxcare.els69 | 3:7.4.1689-3ubuntu1.5+tuxcare.els69 |
vim-gnome-py2TuxCare:Ubuntu:16.04 From an advisory covering 2 CVEs |
before 3:7.4.1689-3ubuntu1.5+tuxcare.els69 | 3:7.4.1689-3ubuntu1.5+tuxcare.els69 |
vim-gtkTuxCare:Ubuntu:16.04 From an advisory covering 2 CVEs |
before 3:7.4.1689-3ubuntu1.5+tuxcare.els69 | 3:7.4.1689-3ubuntu1.5+tuxcare.els69 |
vim-gtk-py2TuxCare:Ubuntu:16.04 From an advisory covering 2 CVEs |
before 3:7.4.1689-3ubuntu1.5+tuxcare.els69 | 3:7.4.1689-3ubuntu1.5+tuxcare.els69 |
vim-gtk3TuxCare:Ubuntu:16.04 From an advisory covering 2 CVEs |
before 3:7.4.1689-3ubuntu1.5+tuxcare.els69 | 3:7.4.1689-3ubuntu1.5+tuxcare.els69 |
vim-gtk3-py2TuxCare:Ubuntu:16.04 From an advisory covering 2 CVEs |
before 3:7.4.1689-3ubuntu1.5+tuxcare.els69 | 3:7.4.1689-3ubuntu1.5+tuxcare.els69 |
vim-gui-commonTuxCare:Ubuntu:16.04 From an advisory covering 2 CVEs |
before 3:7.4.1689-3ubuntu1.5+tuxcare.els69 | 3:7.4.1689-3ubuntu1.5+tuxcare.els69 |
vim-noxTuxCare:Ubuntu:16.04 From an advisory covering 2 CVEs |
before 3:7.4.1689-3ubuntu1.5+tuxcare.els69 | 3:7.4.1689-3ubuntu1.5+tuxcare.els69 |
vim-nox-py2TuxCare:Ubuntu:16.04 From an advisory covering 2 CVEs |
before 3:7.4.1689-3ubuntu1.5+tuxcare.els69 | 3:7.4.1689-3ubuntu1.5+tuxcare.els69 |
vim-runtimeTuxCare:Ubuntu:16.04 From an advisory covering 2 CVEs |
before 3:7.4.1689-3ubuntu1.5+tuxcare.els69 | 3:7.4.1689-3ubuntu1.5+tuxcare.els69 |
vim-tinyTuxCare:Ubuntu:16.04 From an advisory covering 2 CVEs |
before 3:7.4.1689-3ubuntu1.5+tuxcare.els69 | 3:7.4.1689-3ubuntu1.5+tuxcare.els69 |
vim-X11TuxCare:OracleLinux:6 |
before 3:7.4.629-5.2.el6.tuxcare.els56 | 3:7.4.629-5.2.el6.tuxcare.els56 |
vim-commonTuxCare:OracleLinux:6 |
before 3:7.4.629-5.2.el6.tuxcare.els56 | 3:7.4.629-5.2.el6.tuxcare.els56 |
vim-enhancedTuxCare:OracleLinux:6 |
before 3:7.4.629-5.2.el6.tuxcare.els56 | 3:7.4.629-5.2.el6.tuxcare.els56 |
vim-filesystemTuxCare:OracleLinux:6 |
before 3:7.4.629-5.2.el6.tuxcare.els56 | 3:7.4.629-5.2.el6.tuxcare.els56 |
vim-minimalTuxCare:OracleLinux:6 |
before 3:7.4.629-5.2.el6.tuxcare.els56 | 3:7.4.629-5.2.el6.tuxcare.els56 |
vim-X11TuxCare:CentOS:6 |
before 3:7.4.629-5.2.el6.tuxcare.els56 | 3:7.4.629-5.2.el6.tuxcare.els56 |
vim-commonTuxCare:CentOS:6 |
before 3:7.4.629-5.2.el6.tuxcare.els56 | 3:7.4.629-5.2.el6.tuxcare.els56 |
vim-enhancedTuxCare:CentOS:6 |
before 3:7.4.629-5.2.el6.tuxcare.els56 | 3:7.4.629-5.2.el6.tuxcare.els56 |
vim-filesystemTuxCare:CentOS:6 |
before 3:7.4.629-5.2.el6.tuxcare.els56 | 3:7.4.629-5.2.el6.tuxcare.els56 |
vim-minimalTuxCare:CentOS:6 |
before 3:7.4.629-5.2.el6.tuxcare.els56 | 3:7.4.629-5.2.el6.tuxcare.els56 |
vimTuxCare:Ubuntu:18.04 From an advisory covering 11 CVEs |
before 2:8.0.1453-1ubuntu1.13+tuxcare.els2 | 2:8.0.1453-1ubuntu1.13+tuxcare.els2 |
vim-athenaTuxCare:Ubuntu:18.04 From an advisory covering 11 CVEs |
before 2:8.0.1453-1ubuntu1.13+tuxcare.els2 | 2:8.0.1453-1ubuntu1.13+tuxcare.els2 |
vim-commonTuxCare:Ubuntu:18.04 From an advisory covering 11 CVEs |
before 2:8.0.1453-1ubuntu1.13+tuxcare.els2 | 2:8.0.1453-1ubuntu1.13+tuxcare.els2 |
vim-docTuxCare:Ubuntu:18.04 From an advisory covering 11 CVEs |
before 2:8.0.1453-1ubuntu1.13+tuxcare.els2 | 2:8.0.1453-1ubuntu1.13+tuxcare.els2 |
vim-gnomeTuxCare:Ubuntu:18.04 From an advisory covering 11 CVEs |
before 2:8.0.1453-1ubuntu1.13+tuxcare.els2 | 2:8.0.1453-1ubuntu1.13+tuxcare.els2 |
vim-gtkTuxCare:Ubuntu:18.04 From an advisory covering 11 CVEs |
before 2:8.0.1453-1ubuntu1.13+tuxcare.els2 | 2:8.0.1453-1ubuntu1.13+tuxcare.els2 |
vim-gtk3TuxCare:Ubuntu:18.04 From an advisory covering 11 CVEs |
before 2:8.0.1453-1ubuntu1.13+tuxcare.els2 | 2:8.0.1453-1ubuntu1.13+tuxcare.els2 |
vim-gui-commonTuxCare:Ubuntu:18.04 From an advisory covering 11 CVEs |
before 2:8.0.1453-1ubuntu1.13+tuxcare.els2 | 2:8.0.1453-1ubuntu1.13+tuxcare.els2 |
vim-noxTuxCare:Ubuntu:18.04 From an advisory covering 11 CVEs |
before 2:8.0.1453-1ubuntu1.13+tuxcare.els2 | 2:8.0.1453-1ubuntu1.13+tuxcare.els2 |
vim-runtimeTuxCare:Ubuntu:18.04 From an advisory covering 11 CVEs |
before 2:8.0.1453-1ubuntu1.13+tuxcare.els2 | 2:8.0.1453-1ubuntu1.13+tuxcare.els2 |
vim-tinyTuxCare:Ubuntu:18.04 From an advisory covering 11 CVEs |
before 2:8.0.1453-1ubuntu1.13+tuxcare.els2 | 2:8.0.1453-1ubuntu1.13+tuxcare.els2 |
xxdTuxCare:Ubuntu:18.04 From an advisory covering 11 CVEs |
before 2:8.0.1453-1ubuntu1.13+tuxcare.els2 | 2:8.0.1453-1ubuntu1.13+tuxcare.els2 |
vimDebian:12 |
All versions, plus listed versions 2:9.0.1378-22:9.0.1378-2+deb12u12:9.0.1378-2+deb12u22:9.0.1658-12:9.0.1672-1 Show 40 moreShow less2:9.0.1894-12:9.0.2018-12:9.0.2087-12:9.0.2103-12:9.0.2116-12:9.0.2189-12:9.1.0-12:9.1.0016-12:9.1.0199-12:9.1.0374-12:9.1.0377-12:9.1.0496-12:9.1.0698-12:9.1.0709-12:9.1.0709-22:9.1.0777-12:9.1.0861-12:9.1.0967-12:9.1.0967-22:9.1.1113-12:9.1.1230-12:9.1.1230-22:9.1.1385-12:9.1.1766-12:9.1.1829-12:9.1.1846-12:9.1.1882-12:9.1.2103-12:9.1.2141-12:9.2.0119-12:9.2.0136-12:9.2.0218-12:9.2.0315-12:9.2.0338-12:9.2.0355-12:9.2.0428-12:9.2.0461-12:9.2.0524-12:9.2.0782-12:9.2.0858-1 |
None known |
vimDebian:13 |
before 2:9.1.1230-2+deb13u1, plus listed versions 2:9.1.1230-2 |
2:9.1.1230-2+deb13u1 |
vimDebian:14 |
before 2:9.2.0782-1, plus listed versions 2:9.1.1230-22:9.1.1385-12:9.1.1766-12:9.1.1829-12:9.1.1846-1 Show 12 moreShow less2:9.1.1882-12:9.1.2103-12:9.1.2141-12:9.2.0119-12:9.2.0136-12:9.2.0218-12:9.2.0315-12:9.2.0338-12:9.2.0355-12:9.2.0428-12:9.2.0461-12:9.2.0524-1 |
2:9.2.0782-1 |
vimMageia:10 From an advisory covering 12 CVEs |
before 9.2.782-1.mga10 | 9.2.782-1.mga10 |
vimMageia:9 From an advisory covering 12 CVEs |
before 9.2.782-1.mga9 | 9.2.782-1.mga9 |
vimopenEuler:22.03-LTS-SP4 From an advisory covering 5 CVEs |
before 9.0-50.oe2203sp4 | 9.0-50.oe2203sp4 |
vimopenEuler:24.03-LTS-SP1 From an advisory covering 5 CVEs |
before 9.0.2092-36.oe2403sp1 | 9.0.2092-36.oe2403sp1 |
vimopenEuler:24.03-LTS-SP3 From an advisory covering 5 CVEs |
before 9.0.2092-36.oe2403sp3 | 9.0.2092-36.oe2403sp3 |
vimopenEuler:20.03-LTS-SP4 From an advisory covering 5 CVEs |
before 9.0-50.oe2003sp4 | 9.0-50.oe2003sp4 |
vimRed Hat:hummingbird:1 From an advisory covering 17 CVEs |
before 0:9.2.967-1.1.hum1 | 0:9.2.967-1.1.hum1 |
vim-X11Red Hat:hummingbird:1 From an advisory covering 17 CVEs |
before 0:9.2.967-1.1.hum1 | 0:9.2.967-1.1.hum1 |
vim-commonRed Hat:hummingbird:1 From an advisory covering 17 CVEs |
before 0:9.2.967-1.1.hum1 | 0:9.2.967-1.1.hum1 |
vim-dataRed Hat:hummingbird:1 From an advisory covering 17 CVEs |
before 0:9.2.967-1.1.hum1 | 0:9.2.967-1.1.hum1 |
vim-default-editorRed Hat:hummingbird:1 From an advisory covering 17 CVEs |
before 0:9.2.967-1.1.hum1 | 0:9.2.967-1.1.hum1 |
vim-enhancedRed Hat:hummingbird:1 From an advisory covering 17 CVEs |
before 0:9.2.967-1.1.hum1 | 0:9.2.967-1.1.hum1 |
vim-filesystemRed Hat:hummingbird:1 From an advisory covering 17 CVEs |
before 0:9.2.967-1.1.hum1 | 0:9.2.967-1.1.hum1 |
vim-minimalRed Hat:hummingbird:1 From an advisory covering 17 CVEs |
before 0:9.2.967-1.1.hum1 | 0:9.2.967-1.1.hum1 |
xxdRed Hat:hummingbird:1 From an advisory covering 17 CVEs |
before 0:9.2.967-1.1.hum1 | 0:9.2.967-1.1.hum1 |
vimRoot:Debian:11 |
before 2:8.2.2434-3+deb11u3.aikido.5 | 2:8.2.2434-3+deb11u3.aikido.52:8.2.2434-3+deb11u3.aikido.62:8.2.2434-3+deb11u3.aikido.72:8.2.2434-3+deb11u3.root.io.42:8.2.2434-3+deb11u3.root.io.32:8.2.2434-3+deb11u3.aikido.8 |
rootio-vimRoot:Debian:11 |
before 2:8.2.2434-3+deb11u3.aikido.5 | 2:8.2.2434-3+deb11u3.aikido.52:8.2.2434-3+deb11u3.aikido.62:8.2.2434-3+deb11u3.aikido.72:8.2.2434-3+deb11u3.root.io.42:8.2.2434-3+deb11u3.root.io.32:8.2.2434-3+deb11u3.aikido.8 |
vimRoot:Debian:12 |
before 2:9.0.1378-2+deb12u2.aikido.20 | 2:9.0.1378-2+deb12u2.aikido.202:9.0.1378-2+deb12u2.root.io.192:9.0.1378-2+deb12u2.root.io.182:9.0.1378-2+deb12u2.aikido.21 |
rootio-vimRoot:Debian:12 |
before 2:9.0.1378-2+deb12u2.aikido.20 | 2:9.0.1378-2+deb12u2.aikido.202:9.0.1378-2+deb12u2.root.io.192:9.0.1378-2+deb12u2.root.io.182:9.0.1378-2+deb12u2.aikido.21 |
vimUbuntu:Pro:14.04:LTS |
before 2:7.4.052-1ubuntu3.1+esm29, plus listed versions 2:7.4.000-1ubuntu22:7.4.052-1ubuntu12:7.4.052-1ubuntu22:7.4.052-1ubuntu32:7.4.052-1ubuntu3.1 Show 27 moreShow less2:7.4.052-1ubuntu3.1+esm12:7.4.052-1ubuntu3.1+esm32:7.4.052-1ubuntu3.1+esm42:7.4.052-1ubuntu3.1+esm52:7.4.052-1ubuntu3.1+esm62:7.4.052-1ubuntu3.1+esm72:7.4.052-1ubuntu3.1+esm82:7.4.052-1ubuntu3.1+esm92:7.4.052-1ubuntu3.1+esm102:7.4.052-1ubuntu3.1+esm112:7.4.052-1ubuntu3.1+esm122:7.4.052-1ubuntu3.1+esm132:7.4.052-1ubuntu3.1+esm142:7.4.052-1ubuntu3.1+esm152:7.4.052-1ubuntu3.1+esm162:7.4.052-1ubuntu3.1+esm172:7.4.052-1ubuntu3.1+esm182:7.4.052-1ubuntu3.1+esm192:7.4.052-1ubuntu3.1+esm202:7.4.052-1ubuntu3.1+esm212:7.4.052-1ubuntu3.1+esm222:7.4.052-1ubuntu3.1+esm232:7.4.052-1ubuntu3.1+esm242:7.4.052-1ubuntu3.1+esm252:7.4.052-1ubuntu3.1+esm262:7.4.052-1ubuntu3.1+esm272:7.4.052-1ubuntu3.1+esm28 |
2:7.4.052-1ubuntu3.1+esm29 |
vimUbuntu:Pro:16.04:LTS |
before 2:7.4.1689-3ubuntu1.5+esm35, plus listed versions 2:7.4.712-2ubuntu42:7.4.826-1ubuntu12:7.4.826-1ubuntu22:7.4.826-1ubuntu32:7.4.963-1ubuntu1 Show 38 moreShow less2:7.4.963-1ubuntu42:7.4.963-1ubuntu52:7.4.1689-3ubuntu12:7.4.1689-3ubuntu1.12:7.4.1689-3ubuntu1.22:7.4.1689-3ubuntu1.32:7.4.1689-3ubuntu1.42:7.4.1689-3ubuntu1.52:7.4.1689-3ubuntu1.5+esm22:7.4.1689-3ubuntu1.5+esm32:7.4.1689-3ubuntu1.5+esm42:7.4.1689-3ubuntu1.5+esm52:7.4.1689-3ubuntu1.5+esm62:7.4.1689-3ubuntu1.5+esm72:7.4.1689-3ubuntu1.5+esm82:7.4.1689-3ubuntu1.5+esm102:7.4.1689-3ubuntu1.5+esm112:7.4.1689-3ubuntu1.5+esm122:7.4.1689-3ubuntu1.5+esm132:7.4.1689-3ubuntu1.5+esm142:7.4.1689-3ubuntu1.5+esm152:7.4.1689-3ubuntu1.5+esm172:7.4.1689-3ubuntu1.5+esm182:7.4.1689-3ubuntu1.5+esm192:7.4.1689-3ubuntu1.5+esm202:7.4.1689-3ubuntu1.5+esm222:7.4.1689-3ubuntu1.5+esm232:7.4.1689-3ubuntu1.5+esm242:7.4.1689-3ubuntu1.5+esm252:7.4.1689-3ubuntu1.5+esm262:7.4.1689-3ubuntu1.5+esm272:7.4.1689-3ubuntu1.5+esm282:7.4.1689-3ubuntu1.5+esm292:7.4.1689-3ubuntu1.5+esm302:7.4.1689-3ubuntu1.5+esm312:7.4.1689-3ubuntu1.5+esm322:7.4.1689-3ubuntu1.5+esm332:7.4.1689-3ubuntu1.5+esm34 |
2:7.4.1689-3ubuntu1.5+esm35 |
vimUbuntu:Pro:18.04:LTS |
before 2:8.0.1453-1ubuntu1.13+esm20, plus listed versions 2:8.0.0197-4ubuntu52:8.0.1144-1ubuntu12:8.0.1401-1ubuntu12:8.0.1401-1ubuntu22:8.0.1401-1ubuntu3 Show 30 moreShow less2:8.0.1453-1ubuntu12:8.0.1453-1ubuntu1.12:8.0.1453-1ubuntu1.32:8.0.1453-1ubuntu1.42:8.0.1453-1ubuntu1.62:8.0.1453-1ubuntu1.72:8.0.1453-1ubuntu1.82:8.0.1453-1ubuntu1.92:8.0.1453-1ubuntu1.102:8.0.1453-1ubuntu1.112:8.0.1453-1ubuntu1.122:8.0.1453-1ubuntu1.132:8.0.1453-1ubuntu1.13+esm12:8.0.1453-1ubuntu1.13+esm32:8.0.1453-1ubuntu1.13+esm42:8.0.1453-1ubuntu1.13+esm52:8.0.1453-1ubuntu1.13+esm62:8.0.1453-1ubuntu1.13+esm72:8.0.1453-1ubuntu1.13+esm82:8.0.1453-1ubuntu1.13+esm92:8.0.1453-1ubuntu1.13+esm102:8.0.1453-1ubuntu1.13+esm112:8.0.1453-1ubuntu1.13+esm122:8.0.1453-1ubuntu1.13+esm132:8.0.1453-1ubuntu1.13+esm142:8.0.1453-1ubuntu1.13+esm152:8.0.1453-1ubuntu1.13+esm162:8.0.1453-1ubuntu1.13+esm172:8.0.1453-1ubuntu1.13+esm182:8.0.1453-1ubuntu1.13+esm19 |
2:8.0.1453-1ubuntu1.13+esm20 |
vimUbuntu:Pro:20.04:LTS |
before 2:8.1.2269-1ubuntu5.32+esm8, plus listed versions 2:8.1.0875-5ubuntu22:8.1.0875-5ubuntu32:8.1.0875-5ubuntu42:8.1.2269-1ubuntu12:8.1.2269-1ubuntu4 Show 32 moreShow less2:8.1.2269-1ubuntu52:8.1.2269-1ubuntu5.32:8.1.2269-1ubuntu5.42:8.1.2269-1ubuntu5.62:8.1.2269-1ubuntu5.72:8.1.2269-1ubuntu5.82:8.1.2269-1ubuntu5.92:8.1.2269-1ubuntu5.112:8.1.2269-1ubuntu5.122:8.1.2269-1ubuntu5.132:8.1.2269-1ubuntu5.142:8.1.2269-1ubuntu5.152:8.1.2269-1ubuntu5.162:8.1.2269-1ubuntu5.172:8.1.2269-1ubuntu5.182:8.1.2269-1ubuntu5.202:8.1.2269-1ubuntu5.212:8.1.2269-1ubuntu5.222:8.1.2269-1ubuntu5.232:8.1.2269-1ubuntu5.242:8.1.2269-1ubuntu5.252:8.1.2269-1ubuntu5.262:8.1.2269-1ubuntu5.292:8.1.2269-1ubuntu5.302:8.1.2269-1ubuntu5.312:8.1.2269-1ubuntu5.322:8.1.2269-1ubuntu5.32+esm22:8.1.2269-1ubuntu5.32+esm32:8.1.2269-1ubuntu5.32+esm42:8.1.2269-1ubuntu5.32+esm52:8.1.2269-1ubuntu5.32+esm62:8.1.2269-1ubuntu5.32+esm7 |
2:8.1.2269-1ubuntu5.32+esm8 |
vimUbuntu:22.04:LTS |
before 2:8.2.3995-1ubuntu2.32, plus listed versions 2:8.2.2434-3ubuntu32:8.2.2434-3ubuntu42:8.2.3565-1ubuntu12:8.2.3565-1ubuntu22:8.2.3565-1ubuntu3 Show 30 moreShow less2:8.2.3565-1ubuntu52:8.2.3995-1ubuntu12:8.2.3995-1ubuntu22:8.2.3995-1ubuntu2.12:8.2.3995-1ubuntu2.32:8.2.3995-1ubuntu2.42:8.2.3995-1ubuntu2.52:8.2.3995-1ubuntu2.72:8.2.3995-1ubuntu2.82:8.2.3995-1ubuntu2.92:8.2.3995-1ubuntu2.102:8.2.3995-1ubuntu2.112:8.2.3995-1ubuntu2.122:8.2.3995-1ubuntu2.132:8.2.3995-1ubuntu2.152:8.2.3995-1ubuntu2.162:8.2.3995-1ubuntu2.172:8.2.3995-1ubuntu2.182:8.2.3995-1ubuntu2.192:8.2.3995-1ubuntu2.202:8.2.3995-1ubuntu2.212:8.2.3995-1ubuntu2.222:8.2.3995-1ubuntu2.232:8.2.3995-1ubuntu2.242:8.2.3995-1ubuntu2.262:8.2.3995-1ubuntu2.272:8.2.3995-1ubuntu2.282:8.2.3995-1ubuntu2.292:8.2.3995-1ubuntu2.302:8.2.3995-1ubuntu2.31 |
2:8.2.3995-1ubuntu2.32 |
vimUbuntu:24.04:LTS |
before 2:9.1.0016-1ubuntu7.16, plus listed versions 2:9.0.1672-1ubuntu22:9.0.2087-1ubuntu12:9.0.2116-1ubuntu12:9.0.2116-1ubuntu22:9.0.2184-0ubuntu1 Show 20 moreShow less2:9.0.2189-1ubuntu12:9.1.0-1ubuntu12:9.1.0016-1ubuntu22:9.1.0016-1ubuntu62:9.1.0016-1ubuntu72:9.1.0016-1ubuntu7.12:9.1.0016-1ubuntu7.22:9.1.0016-1ubuntu7.32:9.1.0016-1ubuntu7.42:9.1.0016-1ubuntu7.52:9.1.0016-1ubuntu7.62:9.1.0016-1ubuntu7.72:9.1.0016-1ubuntu7.82:9.1.0016-1ubuntu7.92:9.1.0016-1ubuntu7.102:9.1.0016-1ubuntu7.112:9.1.0016-1ubuntu7.122:9.1.0016-1ubuntu7.132:9.1.0016-1ubuntu7.142:9.1.0016-1ubuntu7.15 |
2:9.1.0016-1ubuntu7.16 |
vimUbuntu:25.10 |
before 2:9.1.0967-1ubuntu6.7, plus listed versions 2:9.1.0967-1ubuntu42:9.1.0967-1ubuntu52:9.1.0967-1ubuntu62:9.1.0967-1ubuntu6.12:9.1.0967-1ubuntu6.2 Show 4 moreShow less2:9.1.0967-1ubuntu6.32:9.1.0967-1ubuntu6.42:9.1.0967-1ubuntu6.52:9.1.0967-1ubuntu6.6 |
2:9.1.0967-1ubuntu6.7 |
vimUbuntu:26.04:LTS |
before 2:9.1.2141-1ubuntu4.5, plus listed versions 2:9.1.0967-1ubuntu62:9.1.1882-1ubuntu12:9.1.1882-1ubuntu22:9.1.2141-1ubuntu12:9.1.2141-1ubuntu2 Show 4 moreShow less2:9.1.2141-1ubuntu42:9.1.2141-1ubuntu4.12:9.1.2141-1ubuntu4.22:9.1.2141-1ubuntu4.3 |
2:9.1.2141-1ubuntu4.5 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, facts | ||
| affected | OSV | |
| affected, aliases, references | ||
| first indexed | CVE List, EUVD, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-52860 is a high vulnerability (CVSS 7.5) in Vim, published June 11, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.22%, the 13th percentile. Fixed in vim 9.2.0602-r0.
References
github.com/vim/vim/security/advisories/GHSA-65p9-mwwx-7468
github.com/vim/vim/security/advisories/GHSA-52mc-rq6p-rc7c
github.com/vim/vim/commit/c8c63673bc4253212820626aeeb75999d9a539d2
github.com/vim/vim/releases/tag/v9.2.0597
access.redhat.com/security/cve/CVE-2026-52860
bugzilla.redhat.com/show_bug.cgi?id=2487987
Show 167 moreShow less
security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-52860.json
security.alpinelinux.org/vuln/CVE-2026-52860
nvd.nist.gov/vuln/detail/CVE-2026-52860
docs.bell-sw.com/security/cves/CVE-2026-52860
errata.tuxcare.com/els_os/debian10els/CLSA-2026-1782221662.html
nvd.nist.gov/vuln/detail/CVE-2026-47162
nvd.nist.gov/vuln/detail/CVE-2026-52858
nvd.nist.gov/vuln/detail/CVE-2026-52859
errata.tuxcare.com/els_os/oraclelinux7els/CLSA-2026-1782221997.html
nvd.nist.gov/vuln/detail/CVE-2023-2610
nvd.nist.gov/vuln/detail/CVE-2023-4750
errata.tuxcare.com/els_os/centos7els/CLSA-2026-1782223154.html
errata.tuxcare.com/els_os/ubuntu16.04els/CLSA-2026-1782294876.html
errata.tuxcare.com/els_os/oraclelinux6els/CLSA-2026-1782299449.html
errata.tuxcare.com/els_os/centos6els/CLSA-2026-1782299648.html
errata.tuxcare.com/els_os/ubuntu18.04els/CLSA-2026-1787394930.html
nvd.nist.gov/vuln/detail/CVE-2026-46483
nvd.nist.gov/vuln/detail/CVE-2026-55693
nvd.nist.gov/vuln/detail/CVE-2026-55895
nvd.nist.gov/vuln/detail/CVE-2026-57455
nvd.nist.gov/vuln/detail/CVE-2026-57456
nvd.nist.gov/vuln/detail/CVE-2026-59858
github.com/CVEProject/cvelistV5/tree/main/cves/2026/52xxx/CVE-2026-52860.json
security-tracker.debian.org/tracker/CVE-2026-52860
advisories.mageia.org/MGASA-2026-0240.html
bugs.mageia.org/show_bug.cgi?id=35580
openwall.com/lists/oss-security/2026/05/22/13
github.com/vim/vim/security/advisories/GHSA-3h95-3962-mmvf
openwall.com/lists/oss-security/2026/05/29/5
openwall.com/lists/oss-security/2026/05/30/4
github.com/vim/vim/security/advisories/GHSA-47gw-8gc3-mgcm
openwall.com/lists/oss-security/2026/06/04/14
openwall.com/lists/oss-security/2026/06/15/8
github.com/vim/vim/security/advisories/GHSA-wgh4-64f7-q3jq
openwall.com/lists/oss-security/2026/06/16/12
github.com/vim/vim/security/advisories/GHSA-qm9w-fmpj-879h
openwall.com/lists/oss-security/2026/06/16/13
github.com/vim/vim/security/advisories/GHSA-vhh8-v6wx-hjjh
openwall.com/lists/oss-security/2026/06/17/10
github.com/vim/vim/security/advisories/GHSA-f36c-2qcp-7gpw
openwall.com/lists/oss-security/2026/06/18/7
github.com/vim/vim/security/advisories/GHSA-c4j9-wr9j-4486
openwall.com/lists/oss-security/2026/06/20/2
github.com/vim/vim/security/advisories/GHSA-x5fg-h5w9-9frf
openwall.com/lists/oss-security/2026/06/20/3
github.com/vim/vim/security/advisories/GHSA-ww8h-47xp-hp4w
openwall.com/lists/oss-security/2026/06/21/1
github.com/vim/vim/security/advisories/GHSA-q8mh-6qm3-25g4
openwall.com/lists/oss-security/2026/06/21/2
github.com/vim/vim/security/advisories/GHSA-ppj8-wqjf-6fp3
openwall.com/lists/oss-security/2026/06/24/9
github.com/vim/vim/security/advisories/GHSA-m3hf-xcm3-xhm2
openwall.com/lists/oss-security/2026/06/27/6
github.com/vim/vim/security/advisories/GHSA-mf92-v4xw-j45x
openwall.com/lists/oss-security/2026/06/28/1
github.com/vim/vim/security/advisories/GHSA-fh26-8f79-wj97
openeuler.org/zh/security/security-bulletins/detail?id=openEuler-SA-2026-2761
nvd.nist.gov/vuln/detail/CVE-2026-47167
openeuler.org/zh/security/security-bulletins/detail?id=openEuler-SA-2026-2762
openeuler.org/zh/security/security-bulletins/detail?id=openEuler-SA-2026-2763
openeuler.org/zh/security/security-bulletins/detail?id=openEuler-SA-2026-2863
access.redhat.com/errata/RHSA-2026:57614
images.redhat.com
access.redhat.com/security/cve/CVE-2026-73073
access.redhat.com/security/updates/classification
access.redhat.com/security/cve/CVE-2026-57451
access.redhat.com/security/cve/CVE-2026-57453
access.redhat.com/security/cve/CVE-2026-57454
access.redhat.com/security/cve/CVE-2026-52858
access.redhat.com/security/cve/CVE-2026-52859
access.redhat.com/security/cve/CVE-2026-47167
access.redhat.com/security/cve/CVE-2026-47162
access.redhat.com/security/cve/CVE-2026-46483
access.redhat.com/security/cve/CVE-2026-45130
access.redhat.com/security/cve/CVE-2026-44656
access.redhat.com/security/cve/CVE-2026-43961
access.redhat.com/security/cve/CVE-2026-41411
access.redhat.com/security/cve/CVE-2026-35177
access.redhat.com/security/cve/CVE-2026-34982
access.redhat.com/security/cve/CVE-2026-39881
security.access.redhat.com/data/csaf/v2/advisories/2026/rhsa-2026_57614.json
bugzilla.redhat.com/show_bug.cgi?id=2455400
cve.org/CVERecord?id=CVE-2026-34982
nvd.nist.gov/vuln/detail/CVE-2026-34982
openwall.com/lists/oss-security/2026/04/01/1
github.com/vim/vim/commit/75661a66a1db1e1f3f1245c615
github.com/vim/vim/releases/tag/v9.2.0276
github.com/vim/vim/security/advisories/GHSA-8h6p-m6gr-mpw9
bugzilla.redhat.com/show_bug.cgi?id=2455542
cve.org/CVERecord?id=CVE-2026-35177
nvd.nist.gov/vuln/detail/CVE-2026-35177
github.com/vim/vim/security/advisories/GHSA-jc86-w7vm-8p24
bugzilla.redhat.com/show_bug.cgi?id=2456722
cve.org/CVERecord?id=CVE-2026-39881
nvd.nist.gov/vuln/detail/CVE-2026-39881
github.com/vim/vim/commit/7ab76a86048ed492374ac6b19
github.com/vim/vim/releases/tag/v9.2.0316
github.com/vim/vim/security/advisories/GHSA-mr87-rhgv-7pw6
bugzilla.redhat.com/show_bug.cgi?id=2461614
cve.org/CVERecord?id=CVE-2026-41411
nvd.nist.gov/vuln/detail/CVE-2026-41411
github.com/vim/vim/commit/c78194e41d5a0b05b0ddf383b6679b1503f977fb
github.com/vim/vim/releases/tag/v9.2.0357
github.com/vim/vim/security/advisories/GHSA-cwgx-gcj7-6qh8
bugzilla.redhat.com/show_bug.cgi?id=2460434
cve.org/CVERecord?id=CVE-2026-43961
nvd.nist.gov/vuln/detail/CVE-2026-43961
github.com/vim/vim/security/advisories/GHSA-66hr-7p6x-x5j3
bugzilla.redhat.com/show_bug.cgi?id=2468420
cve.org/CVERecord?id=CVE-2026-44656
nvd.nist.gov/vuln/detail/CVE-2026-44656
github.com/vim/vim/commit/190cb3c2b9c769a3972bcfd991a7b5b6cb771ef0
github.com/vim/vim/releases/tag/v9.2.0435
github.com/vim/vim/security/advisories/GHSA-hwg5-3cxw-wvvg
bugzilla.redhat.com/show_bug.cgi?id=2468422
cve.org/CVERecord?id=CVE-2026-45130
nvd.nist.gov/vuln/detail/CVE-2026-45130
github.com/vim/vim/commit/92993329178cb1f72d700fff45ca86e1c2d369f8
github.com/vim/vim/releases/tag/v9.2.0450
github.com/vim/vim/security/advisories/GHSA-q4jv-r9gj-6cwv
bugzilla.redhat.com/show_bug.cgi?id=2477915
cve.org/CVERecord?id=CVE-2026-46483
github.com/vim/vim/commit/3fb5e58fbc63d86a3e65f1a141b0d67af2aa38a1
github.com/vim/vim/releases/tag/v9.2.0479
github.com/vim/vim/security/advisories/GHSA-2fpv-9ff7-xg5w
bugzilla.redhat.com/show_bug.cgi?id=2487964
cve.org/CVERecord?id=CVE-2026-47162
github.com/vim/vim/commit/f08ab2f4d7d2947c8dd6c179ae08ee6146a2694b
github.com/vim/vim/releases/tag/v9.2.0495
github.com/vim/vim/security/advisories/GHSA-crm5-rh6j-2c7c
bugzilla.redhat.com/show_bug.cgi?id=2487996
cve.org/CVERecord?id=CVE-2026-47167
github.com/vim/vim/commit/a65a52d684bc58535ad28a4ae824d22e76399934
github.com/vim/vim/releases/tag/v9.2.0496
github.com/vim/vim/security/advisories/GHSA-4473-94jm-w5x9
bugzilla.redhat.com/show_bug.cgi?id=2487981
cve.org/CVERecord?id=CVE-2026-52858
github.com/vim/vim/commit/4b850457e12e1a678dd209f2868154f7553cbf8d
github.com/vim/vim/releases/tag/v9.2.0561
bugzilla.redhat.com/show_bug.cgi?id=2487989
cve.org/CVERecord?id=CVE-2026-52859
github.com/vim/vim/commit/63680c6d3d52477817b49cd1a66e7aabe8a7aa19
github.com/vim/vim/releases/tag/v9.2.0565
cve.org/CVERecord?id=CVE-2026-52860
bugzilla.redhat.com/show_bug.cgi?id=2492978
cve.org/CVERecord?id=CVE-2026-57451
nvd.nist.gov/vuln/detail/CVE-2026-57451
github.com/vim/vim/commit/b2338ca90643e2f01ecb6547c1172716aaec4f79
github.com/vim/vim/releases/tag/v9.2.0670
bugzilla.redhat.com/show_bug.cgi?id=2492967
cve.org/CVERecord?id=CVE-2026-57453
nvd.nist.gov/vuln/detail/CVE-2026-57453
github.com/vim/vim/commit/b2cc9be119d51212bf0d3f2a99
github.com/vim/vim/releases/tag/v9.2.0678
bugzilla.redhat.com/show_bug.cgi?id=2492977
cve.org/CVERecord?id=CVE-2026-57454
nvd.nist.gov/vuln/detail/CVE-2026-57454
github.com/vim/vim/commit/b3faeecc976d3031d7c0675623516ec60c30f949
github.com/vim/vim/releases/tag/v9.2.0679
bugzilla.redhat.com/show_bug.cgi?id=2517950
cve.org/CVERecord?id=CVE-2026-73073
nvd.nist.gov/vuln/detail/CVE-2026-73073
github.com/vim/vim/commit/2f628d8104958fa7421664f792ca6d4f7a39a10f
github.com/vim/vim/releases/tag/v9.2.0845
github.com/vim/vim/security/advisories/GHSA-cx73-phcg-3j5g
ubuntu.com/security/CVE-2026-52860
ubuntu.com/security/notices/USN-8451-1
Left out here: the rest of 1 source description. The JSON record has them.