CVE-2024-43790 | heap-buffer-overflow in do_search() in Vim < 9.1.0689

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: 2024-08-22 Last update: 2025-08-18 Assigner: [email protected] Source: [email protected]

Conclusion & alert: CVE-2024-43790 is rated Low Risk (26/100): CVSS Medium severity, with low exploitation likelihood (EPSS 0.31%). Mandatory action: Monitor for updates and reassess as exploit intelligence or EPSS changes.

Risk is dynamic; we continuously reassess and refresh what is shown on this page as upstream context changes.

Exploit prediction scoring system (EPSS) score for CVE-2024-43790

EPSS lead: Daily EPSS estimates relative likelihood of exploitation; percentile ranks this CVE among scored vulnerabilities (higher = more severe relative rank).

# Date Old EPSS score New EPSS score Delta (New - Old)
1 2026-06-15 0.06% 0.31% +0.25%
2 2025-09-30 0.01% 0.06% +0.04%
3 2025-04-15 0.01%

Full EPSS history (5 records total)

Common vulnerability scoring system (CVSS) metrics for CVE-2024-43790

CVSS metrics for this CVE.

Base score Version Severity Vector Exploitability Impact Score source
4.5 3.1 MEDIUM
CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:U/C:L/I:L/A:L Click to expand
Attack vector (AV:L)
They already need access on the box, or another person has to do something wrong; it’s not a remote drive-by.
Attack complexity (AC:H)
Even with access, the exploit needs extra luck, timing, or a fussy environment to actually work.
Privileges required (PR:N)
No account or special rights needed—anonymous or random user is enough.
User interaction (UI:R)
A real person has to do something—click, install, enable—otherwise it doesn’t land.
Scope (S:U)
Damage stays in the same “trust bubble” as the broken component—no big spill into unrelated systems.
Confidentiality (C:L)
Some sensitive info could get out, but not a total data dump.
Integrity (I:L)
Attackers could change some data, but it’s limited—not everything goes.
Availability (A:L)
Might cause slowdowns, glitches, or partial disruption—not a full brick.
1.0 3.4 [email protected]
5.5 3.1 MEDIUM
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H Click to expand
Attack vector (AV:L)
They already need access on the box, or another person has to do something wrong; it’s not a remote drive-by.
Attack complexity (AC:L)
Once they can reach the bug, pulling it off is straightforward—no weird race conditions or rare setup.
Privileges required (PR:L)
A normal user session is enough; they don’t have to be admin.
User interaction (UI:N)
Nobody has to click “OK” or open a trap file; it can work without a victim helping.
Scope (S:U)
Damage stays in the same “trust bubble” as the broken component—no big spill into unrelated systems.
Confidentiality (C:N)
Doesn’t really leak secrets in a meaningful way.
Integrity (I:N)
Data isn’t meaningfully altered or forged.
Availability (A:H)
Could take the service down hard or make it unusable for people who depend on it.
1.8 3.6 [email protected]

Weakness enumeration for CVE-2024-43790

OS Trackers for CVE-2024-43790

vendor priority summary link
alpine CVE-2024-43790: 1 source package rows (vim); 12 state rows across 4 repos (3.20-main, 3.21-main, 3.22-main, edge-main); fixed 4, open 8. https://security.alpinelinux.org/vuln/CVE-2024-43790
debian unimportant CVE-2024-43790 unimportant priority: Debian including 1 source packages (vim), 5 status rows across 5 suites (bookworm, bullseye, forky, sid, trixie): resolved 3, open 2. https://security-tracker.debian.org/tracker/CVE-2024-43790
redhat medium https://access.redhat.com/security/cve/CVE-2024-43790
suse medium CVE-2024-43790 severity moderate: SUSE including 280 source package names (1.5.0:vim-data-common-9.1.1101-150500.20.21.1, 1.5.0:vim-small-9.1.1101-150500.20.21.1, …), 855 product×package rows across 296 product lines (Container suse/hpc/warewulf4-x86_64/sle-hpc-node, Container suse/manager/5.0/x86_64/server, … (296 product lines)): Fixed 634, Known Affected 221. https://www.suse.com/security/cve/CVE-2024-43790/
ubuntu low CVE-2024-43790 low priority: Ubuntu including 1 source packages (vim), 7 status rows across 7 suites (bionic, focal, jammy, noble, trusty, upstream, xenial): not-affected 6, released 1. https://ubuntu.com/security/CVE-2024-43790

Affected software / configurations for CVE-2024-43790

Vendor Product Version Raw CPE
vim vim >= 9.1.0425, < 9.1.0689 cpe:2.3:a:vim:vim:*:*:*:*:*:*:*:*
netapp bootstrap_os cpe:2.3:o:netapp:bootstrap_os:-:*:*:*:*:*:*:*

References for CVE-2024-43790

cvelogic Threat Intelligence