Loading HuntDB...

Vulnerabilities

CVE-2025-24014

MEDIUM

Vim is an open source, command line text editor. A segmentation fault was found in Vim before 9.1.1043. In silent Ex mode (-s -e), Vim typically doesn't show a screen and just operates silently in batch mode. However, it is still possible to trigger the function that handles the scrolling of a gui version of Vim by feeding some binary characters to Vim. The function that handles the scrolling however may be triggering a redraw, which will access the ScreenLines pointer, even so this variable hasn't been allocated (since there is no screen). This vulnerability is fixed in 9.1.1043.

Published

CVE-2025-22134

MEDIUM

When switching to other buffers using the :all command and visual mode still being active, this may cause a heap-buffer overflow, because Vim does not properly end visual mode and therefore may try to access beyond the end of a line in a buffer. In Patch 9.1.1003 Vim will correctly reset the visual mode before opening other windows and buffers and therefore fix this bug. In addition it does verify that it won't try to access a position if the position is greater than the corresponding buffer line. Impact is medium since the user must have switched on visual mode when executing the :all ex command. The Vim project would like to thank github user gandalf4a for reporting this issue. The issue has been fixed as of Vim patch v9.1.1003

Published Jan 13, 2025

CVE-2024-47814

LOW

Vim is an open source, command line text editor. A use-after-free was found in Vim < 9.1.0764. When closing a buffer (visible in a window) a BufWinLeave auto command can cause an use-after-free if this auto command happens to re-open the same buffer in a new split window. Impact is low since the user must have intentionally set up such a strange auto command and run some buffer unload commands. However this may lead to a crash. This issue has been addressed in version 9.1.0764 and all users are advised to upgrade. There are no known workarounds for this vulnerability.

Published Oct 07, 2024

CVE-2024-45306

MEDIUM

Vim is an open source, command line text editor. Patch v9.1.0038 optimized how the cursor position is calculated and removed a loop, that verified that the cursor position always points inside a line and does not become invalid by pointing beyond the end of a line. Back then we assumed this loop is unnecessary. However, this change made it possible that the cursor position stays invalid and points beyond the end of a line, which would eventually cause a heap-buffer-overflow when trying to access the line pointer at the specified cursor position. It's not quite clear yet, what can lead to this situation that the cursor points to an invalid position. That's why patch v9.1.0707 does not include a test case. The only observed impact has been a program crash. This issue has been addressed in with the patch v9.1.0707. All users are advised to upgrade.

Published Sep 02, 2024

CVE-2024-43802

MEDIUM

Vim is an improved version of the unix vi text editor. When flushing the typeahead buffer, Vim moves the current position in the typeahead buffer but does not check whether there is enough space left in the buffer to handle the next characters. So this may lead to the tb_off position within the typebuf variable to point outside of the valid buffer size, which can then later lead to a heap-buffer overflow in e.g. ins_typebuf(). Therefore, when flushing the typeahead buffer, check if there is enough space left before advancing the off position. If not, fall back to flush current typebuf contents. It's not quite clear yet, what can lead to this situation. It seems to happen when error messages occur (which will cause Vim to flush the typeahead buffer) in comnination with several long mappgins and so it may eventually move the off position out of a valid buffer size. Impact is low since it is not easily reproducible and requires to have several mappings active and run into some error condition. But when this happens, this will cause a crash. The issue has been fixed as of Vim patch v9.1.0697. Users are advised to upgrade. There are no known workarounds for this issue.

Published Aug 26, 2024

CVE-2024-43790

MEDIUM

Vim is an open source command line text editor. When performing a search and displaying the search-count message is disabled (:set shm+=S), the search pattern is displayed at the bottom of the screen in a buffer (msgbuf). When right-left mode (:set rl) is enabled, the search pattern is reversed. This happens by allocating a new buffer. If the search pattern contains some ASCII NUL characters, the buffer allocated will be smaller than the original allocated buffer (because for allocating the reversed buffer, the strlen() function is called, which only counts until it notices an ASCII NUL byte ) and thus the original length indicator is wrong. This causes an overflow when accessing characters inside the msgbuf by the previously (now wrong) length of the msgbuf. The issue has been fixed as of Vim patch v9.1.0689.

Published Aug 22, 2024

CVE-2024-43374

MEDIUM

The UNIX editor Vim prior to version 9.1.0678 has a use-after-free error in argument list handling. When adding a new file to the argument list, this triggers `Buf*` autocommands. If in such an autocommand the buffer that was just opened is closed (including the window where it is shown), this causes the window structure to be freed which contains a reference to the argument list that we are actually modifying. Once the autocommands are completed, the references to the window and argument list are no longer valid and as such cause an use-after-free. Impact is low since the user must either intentionally add some unusual autocommands that wipe a buffer during creation (either manually or by sourcing a malicious plugin), but it will crash Vim. The issue has been fixed as of Vim patch v9.1.0678.

Published Aug 15, 2024

CVE-2024-41965

MEDIUM

Vim is an open source command line text editor. double-free in dialog_changed() in Vim < v9.1.0648. When abandoning a buffer, Vim may ask the user what to do with the modified buffer. If the user wants the changed buffer to be saved, Vim may create a new Untitled file, if the buffer did not have a name yet. However, when setting the buffer name to Unnamed, Vim will falsely free a pointer twice, leading to a double-free and possibly later to a heap-use-after-free, which can lead to a crash. The issue has been fixed as of Vim patch v9.1.0648.

Published Aug 01, 2024

CVE-2024-41957

MEDIUM

Vim is an open source command line text editor. Vim < v9.1.0647 has double free in src/alloc.c:616. When closing a window, the corresponding tagstack data will be cleared and freed. However a bit later, the quickfix list belonging to that window will also be cleared and if that quickfix list points to the same tagstack data, Vim will try to free it again, resulting in a double-free/use-after-free access exception. Impact is low since the user must intentionally execute vim with several non-default flags, but it may cause a crash of Vim. The issue has been fixed as of Vim patch v9.1.0647

Published Aug 01, 2024

CVE-2023-48706

LOW

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.

Published Nov 22, 2023

CVE-2023-48231

LOW

Vim is an open source command line text editor. When closing a window, vim may try to access already freed window structure. Exploitation beyond crashing the application has not been shown to be viable. This issue has been addressed in commit `25aabc2b` which has been included in release version 9.0.2106. Users are advised to upgrade. There are no known workarounds for this vulnerability.

Published Nov 16, 2023

CVE-2023-48232

LOW

Vim is an open source command line text editor. A floating point exception may occur when calculating the line offset for overlong lines and smooth scrolling is enabled and the cpo-settings include the 'n' flag. This may happen when a window border is present and when the wrapped line continues on the next physical line directly in the window border because the 'cpo' setting includes the 'n' flag. Only users with non-default settings are affected and the exception should only result in a crash. This issue has been addressed in commit `cb0b99f0` which has been included in release version 9.0.2107. Users are advised to upgrade. There are no known workarounds for this vulnerability.

Published Nov 16, 2023

CVE-2023-48233

LOW

Vim is an open source command line text editor. If the count after the :s command is larger than what fits into a (signed) long variable, abort with e_value_too_large. Impact is low, user interaction is required and a crash may not even happen in all situations. This issue has been addressed in commit `ac6378773` which has been included in release version 9.0.2108. Users are advised to upgrade. There are no known workarounds for this vulnerability.

Published Nov 16, 2023

CVE-2023-48234

LOW

Vim is an open source command line text editor. When getting the count for a normal mode z command, it may overflow for large counts given. Impact is low, user interaction is required and a crash may not even happen in all situations. This issue has been addressed in commit `58f9befca1` which has been included in release version 9.0.2109. Users are advised to upgrade. There are no known workarounds for this vulnerability.

Published Nov 16, 2023

CVE-2023-48235

LOW

Vim is an open source command line text editor. When parsing relative ex addresses one may unintentionally cause an overflow. Ironically this happens in the existing overflow check, because the line number becomes negative and LONG_MAX - lnum will cause the overflow. Impact is low, user interaction is required and a crash may not even happen in all situations. This issue has been addressed in commit `060623e` which has been included in release version 9.0.2110. Users are advised to upgrade. There are no known workarounds for this vulnerability.

Published Nov 16, 2023

CVE-2023-48236

LOW

Vim is an open source command line text editor. When using the z= command, the user may overflow the count with values larger than MAX_INT. Impact is low, user interaction is required and a crash may not even happen in all situations. This vulnerability has been addressed in commit `73b2d379` which has been included in release version 9.0.2111. Users are advised to upgrade. There are no known workarounds for this vulnerability.

Published Nov 16, 2023

CVE-2023-48237

LOW

Vim is an open source command line text editor. In affected versions when shifting lines in operator pending mode and using a very large value, it may be possible to overflow the size of integer. Impact is low, user interaction is required and a crash may not even happen in all situations. This issue has been addressed in commit `6bf131888` which has been included in version 9.0.2112. Users are advised to upgrade. There are no known workarounds for this vulnerability.

Published Nov 16, 2023

CVE-2023-46246

MEDIUM

Vim is an improved version of the good old UNIX editor Vi. Heap-use-after-free in memory allocated in the function `ga_grow_inner` in in the file `src/alloc.c` at line 748, which is freed in the file `src/ex_docmd.c` in the function `do_cmdline` at line 1010 and then used again in `src/cmdhist.c` at line 759. When using the `:history` command, it's possible that the provided argument overflows the accepted value. Causing an Integer Overflow and potentially later an use-after-free. This vulnerability has been patched in version 9.0.2068.

Published Oct 27, 2023

CVE-2023-5535

HIGH

Use After Free in GitHub repository vim/vim prior to v9.0.2010.

Published Oct 11, 2023

CVE-2023-5441

MEDIUM

NULL Pointer Dereference in GitHub repository vim/vim prior to 20d161ace307e28690229b68584f2d84556f8960.

Published Oct 05, 2023

CVE-2023-5344

MEDIUM

Heap-based Buffer Overflow in GitHub repository vim/vim prior to 9.0.1969.

Published Oct 02, 2023

CVE-2023-4781

HIGH

Heap-based Buffer Overflow in GitHub repository vim/vim prior to 9.0.1873.

Published Sep 05, 2023

CVE-2023-4733

HIGH

Use After Free in GitHub repository vim/vim prior to 9.0.1840.

Published Sep 04, 2023

CVE-2023-4750

HIGH

Use After Free in GitHub repository vim/vim prior to 9.0.1857.

Published Sep 04, 2023

CVE-2023-4752

HIGH

Use After Free in GitHub repository vim/vim prior to 9.0.1858.

Published Sep 04, 2023

CVE-2023-4751

HIGH

Heap-based Buffer Overflow in GitHub repository vim/vim prior to 9.0.1331.

Published Sep 03, 2023

CVE-2023-4738

HIGH

Heap-based Buffer Overflow in GitHub repository vim/vim prior to 9.0.1848.

Published Sep 02, 2023

CVE-2023-4736

HIGH

Untrusted Search Path in GitHub repository vim/vim prior to 9.0.1833.

Published Sep 02, 2023

CVE-2023-4735

MEDIUM

Out-of-bounds Write in GitHub repository vim/vim prior to 9.0.1847.

Published Sep 02, 2023

CVE-2023-4734

HIGH

Integer Overflow or Wraparound in GitHub repository vim/vim prior to 9.0.1846.

Published Sep 02, 2023

CVE-2023-3896

HIGH

Divide By Zero in vim/vim from 9.0.1367-1 to 9.0.1367-3

Published Aug 07, 2023

CVE-2023-2610

HIGH

Integer Overflow or Wraparound in GitHub repository vim/vim prior to 9.0.1532.

Published May 09, 2023

CVE-2023-2609

HIGH

NULL Pointer Dereference in GitHub repository vim/vim prior to 9.0.1531.

Published May 09, 2023

CVE-2023-2426

MEDIUM

Use of Out-of-range Pointer Offset in GitHub repository vim/vim prior to 9.0.1499.

Published Apr 29, 2023

CVE-2023-1355

HIGH

NULL Pointer Dereference in GitHub repository vim/vim prior to 9.0.1402.

Published Mar 11, 2023

CVE-2023-1264

MEDIUM

NULL Pointer Dereference in GitHub repository vim/vim prior to 9.0.1392.

Published Mar 07, 2023

CVE-2023-1175

HIGH

Incorrect Calculation of Buffer Size in GitHub repository vim/vim prior to 9.0.1378.

Published Mar 04, 2023

CVE-2023-1170

HIGH

Heap-based Buffer Overflow in GitHub repository vim/vim prior to 9.0.1376.

Published Mar 03, 2023

CVE-2023-1127

HIGH

Divide By Zero in GitHub repository vim/vim prior to 9.0.1367.

Published Mar 01, 2023

CVE-2023-0512

HIGH

Divide By Zero in GitHub repository vim/vim prior to 9.0.1247.

Published Jan 26, 2023

CVE-2023-0433

HIGH

Heap-based Buffer Overflow in GitHub repository vim/vim prior to 9.0.1225.

Published Jan 21, 2023

CVE-2023-0288

HIGH

Heap-based Buffer Overflow in GitHub repository vim/vim prior to 9.0.1189.

Published Jan 13, 2023

CVE-2023-0049

HIGH

Out-of-bounds Read in GitHub repository vim/vim prior to 9.0.1143.

Published Jan 04, 2023

CVE-2023-0051

HIGH

Heap-based Buffer Overflow in GitHub repository vim/vim prior to 9.0.1144.

Published Jan 04, 2023

CVE-2023-0054

HIGH

Out-of-bounds Write in GitHub repository vim/vim prior to 9.0.1145.

Published Jan 04, 2023

CVE-2022-4292

HIGH

Use After Free in GitHub repository vim/vim prior to 9.0.0882.

Published Dec 05, 2022

CVE-2022-4293

MEDIUM

Floating Point Comparison with Incorrect Operator in GitHub repository vim/vim prior to 9.0.0804.

Published Dec 05, 2022

CVE-2022-3491

MEDIUM

Heap-based Buffer Overflow in GitHub repository vim/vim prior to 9.0.0742.

Published Dec 03, 2022

CVE-2022-3591

HIGH

Use After Free in GitHub repository vim/vim prior to 9.0.0789.

Published Dec 02, 2022

CVE-2022-3520

HIGH

Heap-based Buffer Overflow in GitHub repository vim/vim prior to 9.0.0765.

Published Dec 02, 2022