CVE-2023-5441
Medium · 5.5CVSS
5.5
EPSS
0.4%
Published
Oct 5, 2023
CISA due date
—
Cloudanix analysis
A problem in the Vim text editor can make the program stop working if someone opens a specially made file, forcing users to restart the editor.
- Exploitation
- Requires User Interaction
- Attacker needs
- User Interaction
- Complexity
- Low
- Impact
- Denial Of Service
- Component
- Application
- Class
- Memory Corruption
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
NULL pointer dereference in Vim's file handling code that triggers a crash when processing specially malformed input, resulting in denial of service.
Why it matters to the business
Users editing files with a text editor may experience unexpected application crashes that interrupt editing sessions and require restarts, with low likelihood of data loss but potential workflow disruption in environments where Vim is a primary tool.
How an attack unfolds
An attacker crafts a file that triggers the NULL dereference inside Vim, then delivers the file to a target user who opens it locally; because the flaw requires user interaction and runs with the user's privileges, the process simply terminates without further code execution.
How to fix it
Upgrade vim/vim to commit 20d161ace307e28690229b68584f2d84556f8960 or later; rebuild or reinstall packages from the updated source; verify the binary reports the fixed version before continued use.
How to confirm the fix worked
Confirm the installed Vim binary was built from commit 20d161ace307e28690229b68584f2d84556f8960 or newer; test by attempting to open known triggering files and verify the process no longer crashes; review build logs or package manifests for the updated commit hash.
Typical attack path
- Create or modify a file containing the triggering malformed data
- Deliver the file to the target via email, download, or shared storage
- User opens the file in an affected Vim binary
- Vim dereferences a NULL pointer and crashes
How to detect it
Review system logs or process monitors for unexpected Vim terminations around the time a user opened an unknown file; correlate crash reports with file access timestamps; no remote indicators exist because exploitation is strictly local.
What your security team should do
- Prioritize patching Vim instances used for editing untrusted files within the next 30 days
- Add Vim version checks to configuration management and CI pipelines
- Educate users to avoid opening files from untrusted sources until patched
- Monitor upstream Vim releases for any follow-on memory-safety improvements
The record
NULL Pointer Dereference in GitHub repository vim/vim prior to 20d161ace307e28690229b68584f2d84556f8960.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:11 | vim | 0 | No fix |
| Debian:12 | vim | 0 | No fix |
| Debian:13 | vim | 0 | 2:9.0.2018-1 |
| Mageia:8 | vim | 0 | 9.0.2059-1.mga8 |
| Mageia:9 | vim | 0 | 9.0.2059-1.mga9 |
| 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-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