CVE-2024-43790CWE-122

heap-buffer-overflow in do_search() in Vim < 9.1.0689

Medium · published August 22, 2024

CVSS v3.1
4.5
EPSS
0%
Percentile
22.4
In the wild
Unconfirmed
What it is

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.

The record
Technical detail
CVSS v3.1
4.5 · MEDIUM
Vector
CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:U/C:L/I:L/A:L
CVSS v4.0
Not supplied
EPSS
0.00307 · 22.4th percentile
Weakness
CWE-122 · Heap-based Buffer Overflow
Published
2024-08-22T21:23Z
EPSS history
Timeline
  • 22 AUG 21:23Z
    heap-buffer-overflow in do_search() in Vim < 9.1.0689
    cvelistv5