CVE-2024-45306
CVE-2024-45306 is a medium-severity vulnerability in Vim with a CVSS 3.x base score of 4.5. It is not currently listed as actively exploited by CISA, and its EPSS exploit-prediction score is low. The underlying weakness is classified as CWE-787.
Key facts
- Severity: Medium (CVSS 3.x base score 4.5)
- EPSS exploit prediction: 0% (22nd percentile)
- Actively exploited: Not listed in CISA KEV
- EU (EUVD) id: EUVD-2024-41429
- Weakness: CWE-787
- Affected product: Vim
- Published:
- Last modified:
Description
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.
Frequently asked questions
- What is CVE-2024-45306?
- 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.
- How severe is CVE-2024-45306?
- CVE-2024-45306 has a CVSS 3.x base score of 4.5, rated medium severity. It is exploitable over local access with high attack complexity, requires no privileges and user interaction. Impact on confidentiality is low, integrity low, and availability low.
- Is CVE-2024-45306 being actively exploited?
- It is not currently listed in CISA's KEV catalog. Its EPSS exploit-prediction score is 0% (22nd percentile), an estimate of the probability of exploitation in the next 30 days.
- What products are affected by CVE-2024-45306?
- CVE-2024-45306 affects Vim. See the affected-products list for the exact vulnerable versions.
- How do I fix CVE-2024-45306?
- Review the linked vendor and NVD advisories for patched versions and mitigations, then upgrade or apply the recommended workaround.
- Does CVE-2024-45306 have an EU (EUVD) identifier?
- Yes. CVE-2024-45306 is tracked in the ENISA EU Vulnerability Database (EUVD) as EUVD-2024-41429.
- When was CVE-2024-45306 published?
- CVE-2024-45306 was published on 2024-09-02 and last updated on 2026-06-17.
References
- https://github.com/vim/vim/commit/396fd1ec2956307755392a1
- https://github.com/vim/vim/releases/tag/v9.1.0038
- https://github.com/vim/vim/security/advisories/GHSA-wxf9-c5gx-qrwr
- https://security.netapp.com/advisory/ntap-20241004-0007/
Affected products (1)
- cpe:2.3:a:vim:vim:*:*:*:*:*:*:*:*
More vulnerabilities in Vim
- CVE-2020-20703 — Critical (CVSS 9.8): Buffer Overflow vulnerability in VIM v.8.1.2135 allows a remote attacker to execute arbitrary code via the operand…
- CVE-2022-3520 — Critical (CVSS 9.8): Heap-based Buffer Overflow in GitHub repository vim/vim prior to 9.0.0765.
- CVE-2022-0318 — Critical (CVSS 9.8): Heap-based Buffer Overflow in vim/vim prior to 8.2.
- CVE-2017-6350 — Critical (CVSS 9.8): An integer overflow at an unserialize_uep memory allocation site would occur for vim before patch 8.0.0378, if it does…
- CVE-2017-6349 — Critical (CVSS 9.8): An integer overflow at a u_read_undo memory allocation site would occur for vim before patch 8.0.0377, if it does not…
- CVE-2017-5953 — Critical (CVSS 9.8): vim before patch 8.0.0322 does not properly validate values for tree length when handling a spell file, which may…
Other CWE-787 (Out-of-bounds Write) vulnerabilities
- CVE-2026-42369 — Critical (CVSS 10.0): GV-VMS V20 is a Video Monitoring Software used to gather the feeds of many surveillance cameras and manage other…
- CVE-2026-4746 — Critical (CVSS 10.0): Out-of-bounds Write vulnerability in timeplus-io proton (base/poco/Foundation/src modules). This vulnerability is…
- CVE-2025-43300 — Critical (CVSS 10.0): An out-of-bounds write issue was addressed with improved bounds checking. This issue is fixed in iOS 15.8.5 and iPadOS…
- CVE-2025-24201 — Critical (CVSS 10.0): An out-of-bounds write issue was addressed with improved checks to prevent unauthorized actions. This issue is fixed in…
- CVE-2024-42479 — Critical (CVSS 10.0): llama.cpp provides LLM inference in C/C++. The unsafe `data` pointer member in the `rpc_tensor` structure can cause…
- CVE-2024-39791 — Critical (CVSS 10.0): Stack-based buffer overflow vulnerabilities affecting Vonets industrial wifi bridge relays and wifi bridge…