CVE-2023-5344
High · 7.5CVSS
7.5
EPSS
1.3%
Published
Oct 2, 2023
CISA due date
—
Cloudanix analysis
A problem in the Vim text editor can cause it to crash or behave unexpectedly when opening certain files, which may interrupt work for people who rely on it for editing.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Low
- Impact
- Denial Of Service
- Component
- Application
- Class
- Buffer Overflow
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Heap-based buffer overflow in Vim allows remote attackers to trigger memory corruption via crafted input, resulting in denial of service (crash) with potential for arbitrary code execution despite the reported CVSS impact vector emphasizing availability.
Why it matters to the business
Development teams relying on Vim may face editor instability or crashes when processing untrusted files, interrupting coding and editing workflows; the vulnerability's age and public exploit availability increase urgency for any environments still using pre-fix versions, though low EPSS suggests limited active targeting.
How an attack unfolds
Attackers leverage publicly available exploits to supply specially crafted files or network inputs that overflow a heap buffer during parsing in vulnerable Vim versions; successful exploitation can crash the editor or, under certain conditions, execute arbitrary code on the host system.
How to fix it
Upgrade Vim to a version containing commit 3bd7fa12e146c6051490d048a4acbfba974eeb04 or later; rebuild from source or obtain updated packages from distribution maintainers if using packaged Vim.
How to confirm the fix worked
Verify the installed Vim binary reports a version post-9.0.1969 or contains the referenced commit; attempt reproduction with known public proof-of-concept inputs in a controlled environment to confirm the overflow is no longer triggerable.
Typical attack path
- Identify or host a vulnerable Vim instance (prior to the 3bd7fa12e146c6051490d048a4acbfba974eeb04 commit)
- Craft or obtain a malicious file/input designed to trigger the heap buffer overflow
- Deliver the input via file open, command-line argument, or network-sourced content
- Trigger processing in Vim to cause memory corruption
- Achieve denial of service or escalate to code execution if conditions allow
How to detect it
Review system and application logs for repeated Vim process crashes or segmentation faults when handling files; correlate with file access timestamps and search for indicators of crafted input patterns in forensic artifacts.
What your security team should do
- Prioritize patching Vim across all developer workstations and build systems due to public exploit availability
- Scan source repositories and CI pipelines for references to unpatched Vim versions
- Implement input sanitization or sandboxing for any automated use of Vim on untrusted content
- Monitor EPSS trend and emerging exploit maturity for increased risk signals
The record
Heap-based Buffer Overflow in GitHub repository vim/vim prior to 9.0.1969.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Alpine:v3.18 | vim | 0 | 9.0.2073-r0 |
| Alpine:v3.19 | vim | 0 | 9.0.1994-r0 |
| Alpine:v3.20 | vim | 0 | 9.0.1994-r0 |
| Alpine:v3.21 | vim | 0 | 9.0.1994-r0 |
| Alpine:v3.22 | vim | 0 | 9.0.1994-r0 |
| Debian:11 | vim | 0 | No fix |
| Debian:11 | vim | 0 | 2:8.2.2434-3+deb11u2 |
| Debian:12 | vim | 0 | No fix |
| Debian:13 | vim | 0 | 2:9.0.2018-1 |
| SUSE:Enterprise Storage 7.1 | vim | 0 | 9.0.2103-150000.5.57.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP1-LTSS | vim | 0 | 9.0.2103-150000.5.57.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS | vim | 0 | 9.0.2103-150000.5.57.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP3-ESPOS | vim | 0 | 9.0.2103-150000.5.57.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS | vim | 0 | 9.0.2103-150000.5.57.1 |
| SUSE:Linux Enterprise Micro 5.1 | vim | 0 | 9.0.2103-150000.5.57.1 |
| SUSE:Linux Enterprise Micro 5.2 | vim | 0 | 9.0.2103-150000.5.57.1 |
| SUSE:Linux Enterprise Micro 5.3 | vim | 0 | 9.0.2103-150000.5.57.1 |
| SUSE:Linux Enterprise Micro 5.4 | vim | 0 | 9.0.2103-150000.5.57.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.2103-150000.5.57.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.2103-150000.5.57.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.2103-17.26.1 |
| SUSE:Linux Enterprise Server 15 SP1-LTSS | vim | 0 | 9.0.2103-150000.5.57.1 |
| SUSE:Linux Enterprise Server 15 SP2-LTSS | vim | 0 | 9.0.2103-150000.5.57.1 |
| SUSE:Linux Enterprise Server 15 SP3-LTSS | vim | 0 | 9.0.2103-150000.5.57.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP5 | vim | 0 | 9.0.2103-17.26.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP1 | vim | 0 | 9.0.2103-150000.5.57.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP2 | vim | 0 | 9.0.2103-150000.5.57.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP3 | vim | 0 | 9.0.2103-150000.5.57.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.2103-150000.5.57.1 |
| openSUSE:Leap 15.5 | vim | 0 | 9.0.2103-150500.20.6.1 |
| openSUSE:Leap Micro 5.3 | vim | 0 | 9.0.2103-150000.5.57.1 |
| openSUSE:Leap Micro 5.4 | vim | 0 | 9.0.2103-150000.5.57.1 |
Related vulnerabilities
- CVE-2023-5535 Use After Free in GitHub repository vim/vim prior to v9.0.2010. 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-2023-4734 Integer Overflow or Wraparound in GitHub repository vim/vim prior to 9.0.1846. Also affects vim
- CVE-2021-4019 vim is vulnerable to Heap-based Buffer Overflow Also affects vim