Skip to content
OpenAdvisories

Vendor

vim

231 known vulnerabilities.

vim at a glance

Last 12 months
47
Critical · all time
1
Exploited · all time
0
Public exploit · all time
2
New vulnerabilities per month · last 12 months
0 10 20 December 2025: 1 vulnerability Dec 2025 January 2026: 0 vulnerabilities February 2026: 8 vulnerabilities March 2026: 3 vulnerabilities, 1 critical Mar April 2026: 4 vulnerabilities May 2026: 4 vulnerabilities June 2026: 14 vulnerabilities Jun July 2026: 3 vulnerabilities August 2026: 10 vulnerabilities September 2026: 0 vulnerabilities Sep October 2026: 0 vulnerabilities November 2026: 0 vulnerabilities
Show as table
MonthVulnerabilitiesCritical
Nov 202600
Oct 202600
Sep 202600
Aug 2026100
Jul 202630
Jun 2026140
May 202640
Apr 202640
Mar 202631
Feb 202680
Jan 202600
Dec 202510
Nov 202500
Oct 202500
Sep 202500
Aug 202520
Jul 202520
Jun 202500
May 202500
Apr 202500
Mar 202520
Feb 202510
Jan 202520
Dec 202400

Products

231 results · Feed

  • High 7.8

    Vim: vimscript injection via unescaped filename in netrw s:netrwmarkfile() filter() expression allows arbitrary code execution

    A flaw was found in Vim's netrw plugin. A crafted filename containing quote characters and expression fragments can break out of the quoted context during mark/unmark operations, allowing arbitrary Vimscript execution. This can be leveraged to run shell comma…

  • High 7.1

    Vim: Arbitrary Ex Command Execution in C Omni-Completion

    Vim is an open source, command line text editor. Prior to 9.2.0845, StructMembers() in runtime/autoload/ccomplete.vim constructs and executes a vimgrep command using an insufficiently escaped typeref: or typename: value from a tags file, allowing an untermina…

  • High 8.6

    Vim: Arbitrary Code Execution via Netrw Menu Construction

    Vim is an open source, command line text editor. Prior to 9.2.0840, runtime/plugin/netrwPlugin.vim loads netrw and runtime/pack/dist/opt/netrw/autoload/netrw.vim constructs Bookmarks, History, and Targets menu entries by interpolating attacker-controlled dire…

  • High 8.4

    Vim: Arbitrary Code Execution via Shell Keyword Lookup

    Vim is an open source, command line text editor. Prior to 9.2.0839, the runtime/ftplugin/sh.vim, runtime/ftplugin/zsh.vim, and runtime/ftplugin/ps1.vim filetype plugins pass attacker-controlled Visual-mode selections from K through keywordprg commands without…

  • High 8.4

    Vim: Arbitrary Command Execution via Malicious `.VimballRecord` Entry Replay in `vimball.vim`

    Vim is an open source, command line text editor. Prior to 9.2.0847, runtime/autoload/vimball.vim allows a crafted vimball member named .VimballRecord to overwrite the installation record with attacker-chosen commands. When vimball#RmVimball() later processes …

  • Medium 4.6

    Vim: Out-of-bounds Access in Popup Opacity Handling

    Vim is an open source, command line text editor. From 9.2.0469 until 9.2.0843, popup_mark_opacity_zindex() in src/popupwin.c can use a negative w_winrow for a text-property-anchored popup with clipwindow and opacity, indexing before the screen array instead o…

  • High 7.1

    Vim: Heap Buffer Overflow in Text Property Handling

    Vim is an open source, command line text editor. Prior to 9.2.0841, prop_add_one() in src/textprop.c uses the proplen value from get_text_props() to increment a uint16_t property count beyond 0xffff, wrapping the count to zero and copying existing text-proper…

  • High 8.5
    CVE-2026-73072 Public exploit

    Vim: Heap Buffer Overflow when Loading a Spell File

    Vim is an open source, command line text editor. Prior to 9.2.0846, set_sofo() in src/spellfile.c reuses sl_sal_first[] without resetting values left by set_sal_first(), so a crafted spell file containing an SN_SAL section before an SN_SOFO section causes und…

  • Low 3.3

    Vim: Use-after-free in JSON Decoding

    Vim is an open source, command line text editor. From 9.2.0511 until 9.2.0844, json_decode_item() in src/json.c can retain a stale pointer after json_decode_string() invokes channel_fill() to refill and free the current buffer, causing the error path to read …

  • Medium 6.8

    Vim: Stack Buffer Overflow in the Vim Socket Server

    Vim is an open source, command line text editor. Prior to 9.2.0842, the socket server backend in src/socketserver.c accepts unbounded client connections in socketserver_accept(), causing descriptors to overflow fd_set structures in src/channel.c and fixed-siz…

  • High 8.4

    Vim: Arbitrary Code Execution via PHP Omni-Completion

    Vim is an open source, command line text editor. Prior to 9.2.0736, the PHP omni-completion script in runtime/autoload/phpcomplete.vim interpolates a class or trait name, taken from the contents of the edited buffer, into a search() pattern that is run via wi…

  • High 8.4

    Vim: Arbitrary Code Execution via C Omni-Completion

    Vim is an open source, command line text editor. Prior to 9.2.0735, the C omni-completion script in runtime/autoload/ccomplete.vim interpolates the typeref: or typename: extension field of a tags entry, without escaping, into a :vimgrep pattern that is run th…

  • Medium 5.6

    Vim: Out-of-bounds Write in SAL Soundfolding

    Vim is an open source, command line text editor. Prior to 9.2.0725, the single-byte branch of spell_soundfold_sal() in src/spell.c translates a word through a spell file's SAL sound-folding rules into a caller-owned result buffer, but its result writes are gu…

  • Medium 5.7

    Vim: Out-of-bounds Write in Spell File Word Count

    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 …

  • Medium 5.5

    Vim: Out-of-bounds Write in Spell File Prefix Dump

    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…

  • Medium 5.7

    Vim: Vimscript Code Injection in netrw NetrwLocalRmFile() via crafted filename

    Vim is an open source, command line text editor. Prior to 9.2.0663, a Vimscript code injection vulnerability exists in s:NetrwLocalRmFile() in the netrw plugin (runtime/pack/dist/opt/netrw/autoload/netrw.vim) when deleting a local file from the browser. A fil…

  • Medium 5.3

    Vim: Out-of-bounds Read in Text Property Count

    Vim is an open source, command line text editor. Prior to 9.2.0670, get_text_props() in src/textprop.c reads a uint16 property count stored inline after a line's text and returns it as the number of 32-byte textprop_T entries that follow. The only check is a …

  • Medium 5.5

    Vim: Out-of-bounds Read with libsodium-encrypted Files

    Vim is an open source, command line text editor. Prior to 9.2.0671, when Vim opens a file encrypted with the VimCrypt~04! or VimCrypt~05! method (xchacha20poly1305, requires the +sodium feature) whose body is shorter than a single libsodium secretstream heade…

  • Medium 6.5

    Vim: PowerShell Command Injection via Unescaped Filename in zip.vim Extraction

    Vim is an open source, command line text editor. From 9.1.1784 until 9.2.0678, when the bundled zip plugin autoload/zip.vim falls back to PowerShell to browse, read, extract, update or delete entries in a zip archive, it builds the PowerShell command by inser…

  • Medium 6.8

    Vim: Out-of-bounds Read with Text Properties

    Vim is an open source, command line text editor. From 9.2.0320 until 9.2.0679, a crafted undo or swap file can store a virtual-text property whose offset and length point outside the line's property data. When Vim restores or displays such a line it converts …

  • Medium 4.0

    Vim: Stack out-of-bounds write in `spell_soundfold_sofo()` via an over-length `soundfold()` argument

    Vim is an open source, command line text editor. Prior to 9.2.0698, the single-byte branch of spell_soundfold_sofo() in src/spell.c translates a word through a spell file's SOFO (sound-folding) byte map into a caller-owned result buffer. Its copy loop advance…

  • High 8.4

    Vim: Arbitrary Code Execution via Python Omni-Completion Docstrings

    Vim is an open source, command line text editor. Prior to 9.2.0699, Vim's Python omni-completion (runtime/autoload/python3complete.vim and the legacy pythoncomplete.vim) executes reconstructed function and class definitions from the current buffer with exec()…

  • High 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 evaluate…

  • Medium 6.9

    Vim: Out-of-bounds Read in Terminal Screen Snapshot

    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…

  • High 7.3

    Vim: Arbitrary Code Execution via Python Omni-Completion

    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) exec…

  • High 7.3

    Vim: Vimscript Code Injection in netrw NetrwBookHistSave() via crafted directory name

    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 …

  • Medium 5.1

    Vim: Vimscript Code Injection in cucumber filetype plugin via crafted step-definition regex

    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 …

  • Low 3.6

    Vim: Command injection in tar#Vimuntar via missing shellescape {special} flag

    Vim is an open source, command line text editor. Prior to 9.2.0479, a command injection vulnerability exists in tar#Vimuntar() in runtime/autoload/tar.vim when decompressing .tgz archives on Unix-like systems. The function builds :!gunzip and :!gzip -d comman…

  • Medium 6.6

    Vim: Heap Buffer Overflow in spell file loading

    Vim is an open source, command line text editor. Prior to version 9.2.0450, a heap buffer overflow exists in read_compound() in src/spellfile.c when loading a crafted spell file (.spl) with UTF-8 encoding active. An attacker-controlled length field in the spe…

  • Medium 4.6
    CVE-2026-44656 Public exploit

    Vim: OS Command Injection via 'path' completion

    Vim is an open source, command line text editor. Prior to version 9.2.0435, an OS command injection vulnerability exists in Vim's :find command-line completion. When the path option contains backtick-enclosed shell commands, those commands are executed during…

  • Medium 4.4

    Vim: OS Command Injection in netrw

    Vim is an open source, command line text editor. Prior to version 9.2.0383, an OS command injection vulnerability exists in the netrw standard plugin bundled with Vim. By inducing a user to open a crafted URL (e.g., using the sftp:// or file:// protocol handl…

  • Medium 6.6

    Vim: Command injection via backtick expansion in tag filenames

    Vim is an open source, command line text editor. Prior to 9.2.0357, A command injection vulnerability exists in Vim's tag file processing. When resolving a tag, the filename field from the tags file is passed through wildcard expansion to resolve environment …

  • Medium 5.0

    Vim Ex command injection in Vims NetBeans integration

    Vim is an open source, command line text editor. Prior to 9.2.0316, a command injection vulnerability in Vim's netbeans interface allows a malicious netbeans server to execute arbitrary Ex commands when Vim connects to it, via unsanitized strings in the defin…

  • Medium 4.1

    Path traversal issue with zip.vim in Vim

    Vim is an open source, command line text editor. Prior to 9.2.0280, a path traversal bypass in Vim's zip.vim plugin allows overwriting of arbitrary files when opening specially crafted zip archives, circumventing the previous fix for CVE-2025-53906. This vuln…

  • High 8.2

    Vim modeline bypass via various options affects Vim < 9.2.0276

    Vim is an open source, command line text editor. Prior to version 9.2.0276, a modeline sandbox bypass in Vim allows arbitrary OS command execution when a user opens a crafted file. The `complete`, `guitabtooltip` and `printheader` options are missing the `P_M…

  • Critical 9.2

    Vim before 9.2.0272 allows code execution that happens immediately upon opening a crafted file in the default configura…

  • Medium 5.6

    Vim affected by Command injection via newline in glob()

    Vim is an open source, command line text editor. Prior to version 9.2.0202, a command injection vulnerability exists in Vim's glob() function on Unix-like systems. By including a newline character (\n) in a pattern passed to glob(), an attacker may be able to…

  • Medium 5.3

    NFA regex engine NULL pointer dereference affects Vim < 9.2.0137

    Vim is an open source, command line text editor. From 9.1.0011 to before 9.2.0137, Vim's NFA regex compiler, when encountering a collection containing a combining character as the endpoint of a character range (e.g. [0-0\u05bb]), incorrectly emits the composi…

  • Low 2.2

    Vim has stack-buffer-overflow in build_stl_str_hl()

    Vim is an open source, command line text editor. Prior to version 9.2.0078, a stack-buffer-overflow occurs in `build_stl_str_hl()` when rendering a statusline with a multi-byte fill character on a very wide terminal. Version 9.2.0078 patches the issue.

  • Medium 5.3

    Vim has a heap-buffer-overflow and a segmentation fault

    Vim is an open source, command line text editor. Versions prior to 9.2.0077 have a heap-buffer-overflow and a segmentation fault (SEGV) exist in Vim's swap file recovery logic. Both are caused by unvalidated fields read from crafted pointer blocks within a sw…