CVE-2023-2426
Medium · 5.5CVSS
5.5
EPSS
0.4%
Published
Apr 29, 2023
CISA due date
—
Cloudanix analysis
A bug in the popular Vim text editor lets someone crash the program by tricking it into opening a specially made file.
- Exploitation
- Local Privilege
- Attacker needs
- Local User
- Complexity
- Low
- Impact
- Denial Of Service
- Component
- Application
- Class
- Memory Corruption
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Out-of-range pointer offset triggers memory corruption in Vim's internal data structures when processing crafted input, resulting in invalid memory access that can crash the process.
Why it matters to the business
Local users or automated processes opening malicious files can cause Vim to crash, disrupting editing workflows, build pipelines, or log review tasks that rely on the editor; the issue has been public for years with no widespread exploitation pressure.
How an attack unfolds
An attacker crafts a file containing data that causes Vim to compute an invalid pointer offset during parsing or rendering; when a local user or script opens the file with an affected Vim version, the out-of-range access occurs and the process terminates.
How to fix it
Upgrade vim/vim to commit caf642c25de526229264cab9425e7c9979f3509b or later; rebuild and redeploy any packaged Vim binaries that include the fix.
How to confirm the fix worked
Confirm the installed Vim reports a version built from commit caf642c25de526229264cab9425e7c9979f3509b or newer; test that previously crashing files no longer terminate the editor.
Typical attack path
- Attacker prepares a malicious file designed to trigger the pointer offset calculation
- Victim or automated process opens the file using an affected Vim binary
- Vim performs the out-of-range pointer offset operation
- Memory corruption occurs leading to immediate crash or denial of service
How to detect it
Review system and application logs for unexpected Vim process terminations or segmentation faults when users or scripts open files; correlate crash reports with file access timestamps and origins.
What your security team should do
- Prioritize patching Vim in developer workstations, CI/CD containers, and any systems that process untrusted files with Vim
- Block or sandbox execution of unpatched Vim instances against files from external sources
- Monitor for new Vim releases and include the editor in routine dependency scanning
The record
Use of Out-of-range Pointer Offset in GitHub repository vim/vim prior to 9.0.1499.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:11 | vim | 0 | No fix |
| Debian:12 | vim | 0 | 2:9.0.1378-2 |
| Debian:13 | vim | 0 | 2:9.0.1378-2 |
| Mageia:8 | vim | 0 | 9.0.1572-1.mga8 |
| SUSE:Enterprise Storage 7 | vim | 0 | 9.0.1572-150000.5.46.1 |
| SUSE:Enterprise Storage 7.1 | vim | 0 | 9.0.1572-150000.5.46.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP1-LTSS | vim | 0 | 9.0.1572-150000.5.46.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS | vim | 0 | 9.0.1572-150000.5.46.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP3-ESPOS | vim | 0 | 9.0.1572-150000.5.46.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS | vim | 0 | 9.0.1572-150000.5.46.1 |
| SUSE:Linux Enterprise Micro 5.1 | vim | 0 | 9.0.1572-150000.5.46.1 |
| SUSE:Linux Enterprise Micro 5.2 | vim | 0 | 9.0.1572-150000.5.46.1 |
| SUSE:Linux Enterprise Micro 5.3 | vim | 0 | 9.0.1572-150000.5.46.1 |
| SUSE:Linux Enterprise Micro 5.4 | vim | 0 | 9.0.1572-150000.5.46.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP4 | vim | 0 | 9.0.1572-150000.5.46.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP5 | vim | 0 | 9.0.1632-150500.20.3.1 |
| SUSE:Linux Enterprise Module for Desktop Applications 15 SP4 | vim | 0 | 9.0.1572-150000.5.46.1 |
| SUSE:Linux Enterprise Module for Desktop Applications 15 SP5 | vim | 0 | 9.0.1632-150500.20.3.1 |
| SUSE:Linux Enterprise Real Time 15 SP3 | vim | 0 | 9.0.1572-150000.5.46.1 |
| SUSE:Linux Enterprise Server 12 SP2-BCL | vim | 0 | 9.0.1572-17.18.1 |
| SUSE:Linux Enterprise Server 12 SP5 | vim | 0 | 9.0.1572-17.18.1 |
| SUSE:Linux Enterprise Server 15 SP1-LTSS | vim | 0 | 9.0.1572-150000.5.46.1 |
| SUSE:Linux Enterprise Server 15 SP2-LTSS | vim | 0 | 9.0.1572-150000.5.46.1 |
| SUSE:Linux Enterprise Server 15 SP3-LTSS | vim | 0 | 9.0.1572-150000.5.46.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP5 | vim | 0 | 9.0.1572-17.18.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP1 | vim | 0 | 9.0.1572-150000.5.46.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP2 | vim | 0 | 9.0.1572-150000.5.46.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP3 | vim | 0 | 9.0.1572-150000.5.46.1 |
| SUSE:Manager Proxy 4.2 | vim | 0 | 9.0.1572-150000.5.46.1 |
| SUSE:Manager Server 4.2 | vim | 0 | 9.0.1572-150000.5.46.1 |
| Ubuntu:20.04:LTS | vim | 0 | 2:8.1.2269-1ubuntu5.15 |
| Ubuntu:22.04:LTS | vim | 0 | 2:8.2.3995-1ubuntu2.8 |
| Ubuntu:Pro:14.04:LTS | vim | 0 | 2:7.4.052-1ubuntu3.1+esm10 |
| Ubuntu:Pro:16.04:LTS | vim | 0 | 2:7.4.1689-3ubuntu1.5+esm18 |
| Ubuntu:Pro:18.04:LTS | vim | 0 | 2:8.0.1453-1ubuntu1.13+esm1 |
| openSUSE:Leap 15.4 | vim | 0 | 9.0.1572-150000.5.46.1 |
| openSUSE:Leap 15.5 | vim | 0 | 9.0.1632-150500.20.3.1 |
| openSUSE:Leap Micro 5.3 | vim | 0 | 9.0.1572-150000.5.46.1 |
| openSUSE:Leap Micro 5.4 | vim | 0 | 9.0.1572-150000.5.46.1 |
| openSUSE:Tumbleweed | vim | 0 | 9.0.1504-1.1 |
Related vulnerabilities
- CVE-2025-29768 Vim, a text editor, is vulnerable to potential data loss with zip.vim and special crafted… Also affects vim
- CVE-2025-27423 Vim is an open source, command line text editor. Also affects vim
- CVE-2025-24014 Vim is an open source, command line text editor. Also affects vim
- CVE-2025-22134 When switching to other buffers using the :all command and visual mode still being… Also affects vim
- CVE-2024-47814 Vim is an open source, command line text editor. Also affects vim
- CVE-2024-43802 Vim is an improved version of the unix vi text editor. Also affects vim
- CVE-2024-43374 The UNIX editor Vim prior to version 9.1.0678 has a use-after-free error in argument list… Also affects vim
- CVE-2024-22667 Vim before 9.0.2142 has a stack-based buffer overflow because did_set_langmap in map.c… Also affects vim