CVE-2023-4734
High · 7.8CVSS
7.8
EPSS
0.6%
Published
Sep 2, 2023
CISA due date
—
Cloudanix analysis
A flaw in the popular Vim text editor could let attackers take control of a computer if someone opens a specially crafted file with it.
- Exploitation
- Requires User Interaction
- Attacker needs
- User Interaction
- Complexity
- Moderate
- Impact
- Full Compromise
- Component
- Application
- Class
- Memory Corruption
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Integer overflow or wraparound in Vim leads to memory corruption, enabling potential arbitrary code execution or denial of service when processing crafted inputs.
Why it matters to the business
Attackers could compromise systems running vulnerable Vim to execute code or disrupt operations, increasing risk of data breaches or downtime on developer and server environments where the editor is prevalent.
How an attack unfolds
An attacker supplies a maliciously crafted file or input that triggers the integer overflow during parsing in Vim, resulting in memory corruption exploitable for code execution; public exploits are available for this issue.
How to fix it
Upgrade Vim to the fixed commit 4c6fe2e2ea62469642ed1d80b16d39e616b25cf5 or later equivalent release; rebuild from source if using custom builds and verify the patch is applied.
How to confirm the fix worked
Confirm Vim reports a version incorporating commit 4c6fe2e2ea62469642ed1d80b16d39e616b25cf5; test with available proof-of-concept inputs to ensure no crash or corruption occurs.
Typical attack path
- Identify vulnerable Vim installation
- Craft input triggering integer overflow
- Deliver file via email, download, or shared storage
- Victim opens file with Vim
- Exploit memory corruption for code execution
How to detect it
Review system and application logs for Vim process crashes or unexpected memory usage patterns when opening files; search for indicators of crafted input files in user activity or download histories.
What your security team should do
- Prioritize patching Vim across all environments due to available public exploits
- Restrict execution of untrusted files in Vim on high-value systems
- Monitor EPSS trends and update threat models if scores rise
The record
Integer Overflow or Wraparound in GitHub repository vim/vim prior to 9.0.1846.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Alpine:v3.18 | vim | 0 | 9.0.2073-r0 |
| Alpine:v3.19 | vim | 0 | 9.0.1888-r0 |
| Alpine:v3.20 | vim | 0 | 9.0.1888-r0 |
| Alpine:v3.21 | vim | 0 | 9.0.1888-r0 |
| Alpine:v3.22 | vim | 0 | 9.0.1888-r0 |
| Debian:11 | vim | 0 | No fix |
| Debian:12 | vim | 0 | No fix |
| Debian:13 | vim | 0 | 2:9.0.1894-1 |
| Debian:14 | vim | 0 | 2:9.0.1894-1 |
| SUSE:Enterprise Storage 7.1 | vim | 0 | 9.0.1894-150000.5.54.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP1-LTSS | vim | 0 | 9.0.1894-150000.5.54.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS | vim | 0 | 9.0.1894-150000.5.54.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP3-ESPOS | vim | 0 | 9.0.1894-150000.5.54.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS | vim | 0 | 9.0.1894-150000.5.54.1 |
| SUSE:Linux Enterprise Micro 5.1 | vim | 0 | 9.0.1894-150000.5.54.1 |
| SUSE:Linux Enterprise Micro 5.2 | vim | 0 | 9.0.1894-150000.5.54.1 |
| SUSE:Linux Enterprise Micro 5.3 | vim | 0 | 9.0.1894-150000.5.54.1 |
| SUSE:Linux Enterprise Micro 5.4 | vim | 0 | 9.0.1894-150000.5.54.1 |
| SUSE:Linux Enterprise Micro 5.5 | vim | 0 | 9.0.2103-150500.20.6.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP4 | vim | 0 | 9.0.1894-150000.5.54.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP5 | vim | 0 | 9.0.2103-150500.20.6.1 |
| SUSE:Linux Enterprise Module for Desktop Applications 15 SP4 | vim | 0 | 9.0.1894-150000.5.54.1 |
| SUSE:Linux Enterprise Module for Desktop Applications 15 SP5 | vim | 0 | 9.0.2103-150500.20.6.1 |
| SUSE:Linux Enterprise Server 12 SP5 | vim | 0 | 9.0.1894-17.23.2 |
| SUSE:Linux Enterprise Server 15 SP1-LTSS | vim | 0 | 9.0.1894-150000.5.54.1 |
| SUSE:Linux Enterprise Server 15 SP2-LTSS | vim | 0 | 9.0.1894-150000.5.54.1 |
| SUSE:Linux Enterprise Server 15 SP3-LTSS | vim | 0 | 9.0.1894-150000.5.54.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP5 | vim | 0 | 9.0.1894-17.23.2 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP1 | vim | 0 | 9.0.1894-150000.5.54.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP2 | vim | 0 | 9.0.1894-150000.5.54.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP3 | vim | 0 | 9.0.1894-150000.5.54.1 |
| SUSE:Manager Proxy 4.2 | vim | 0 | 9.0.1894-150000.5.54.1 |
| SUSE:Manager Server 4.2 | vim | 0 | 9.0.1894-150000.5.54.1 |
| Ubuntu:20.04:LTS | vim | 0 | 2:8.1.2269-1ubuntu5.20 |
| Ubuntu:22.04:LTS | vim | 0 | 2:8.2.3995-1ubuntu2.13 |
| Ubuntu:23.10 | vim | 0 | 2:9.0.1672-1ubuntu2.1 |
| Ubuntu:Pro:14.04:LTS | vim | 0 | 2:7.4.052-1ubuntu3.1+esm14 |
| Ubuntu:Pro:16.04:LTS | vim | 0 | 2:7.4.1689-3ubuntu1.5+esm20 |
| Ubuntu:Pro:18.04:LTS | vim | 0 | 2:8.0.1453-1ubuntu1.13+esm6 |
| openSUSE:Leap 15.4 | vim | 0 | 9.0.1894-150000.5.54.1 |
| openSUSE:Leap 15.5 | vim | 0 | 9.0.2103-150500.20.6.1 |
| openSUSE:Tumbleweed | vim | 0 | 9.0.1894-1.1 |
Related vulnerabilities
- CVE-2023-5535 Use After Free in GitHub repository vim/vim prior to v9.0.2010. Also affects vim
- CVE-2023-5344 Heap-based Buffer Overflow in GitHub repository vim/vim prior to 9.0.1969. Also affects vim
- CVE-2023-4781 Heap-based Buffer Overflow in GitHub repository vim/vim prior to 9.0.1873. Also affects vim
- CVE-2023-4752 Use After Free in GitHub repository vim/vim prior to 9.0.1858. Also affects vim
- CVE-2023-4750 Use After Free in GitHub repository vim/vim prior to 9.0.1857. Also affects vim
- CVE-2023-4733 Use After Free in GitHub repository vim/vim prior to 9.0.1840. Also affects vim
- CVE-2023-4735 Out-of-bounds Write in GitHub repository vim/vim prior to 9.0.1847. Also affects vim
- CVE-2021-4019 vim is vulnerable to Heap-based Buffer Overflow Also affects vim