CVE-2023-48231
Low · 3.9CVSS
3.9
EPSS
0.7%
Published
Nov 16, 2023
CISA due date
—
Cloudanix analysis
A problem in the Vim text editor can make it crash when you close a window, but it does not let anyone take control of your computer.
- Exploitation
- Requires User Interaction
- Attacker needs
- Low Privilege
- Complexity
- Moderate
- Impact
- Denial Of Service
- Component
- Application
- Class
- Use After Free
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Use-after-free condition when closing a window causes vim to access a previously freed window structure, resulting in application crash with no demonstrated path to further exploitation.
Why it matters to the business
Users of the widely deployed Vim editor may experience unexpected crashes during routine window operations, interrupting editing workflows; low exploitability and absence from known ransomware or targeted campaigns limits operational urgency despite high ecosystem prevalence.
How an attack unfolds
An attacker with local access crafts input or session state that triggers window closure after the underlying structure has been freed; the resulting memory access leads only to a crash, as no viable code execution or privilege escalation path has been shown.
How to fix it
Upgrade vim/vim to release 9.0.2106 or apply commit 25aabc2b8ee1e19ced6f4da9d866cf9378fc4c5a; no workarounds exist.
How to confirm the fix worked
Confirm the installed Vim version is 9.0.2106 or newer; review build logs or source for presence of commit 25aabc2b; test window close operations under memory debugging tools to verify absence of the freed-structure access.
Typical attack path
- Obtain local access to a system running an affected Vim build
- Launch Vim and open multiple windows or buffers
- Perform actions that cause a window to be closed while its structure remains referenced
- Trigger the use-after-free during the close operation to induce a crash
How to detect it
Review system and application logs for unexpected Vim process terminations around window management operations; correlate with user sessions involving multiple buffers or splits; no specific post-exploitation artifacts are known.
What your security team should do
- Prioritize upgrade to the fixed version across all developer and server environments within standard change windows
- Monitor upstream Vim release notes for any follow-on hardening changes
- Include Vim in routine software inventory and vulnerability scanning processes
The record
Vim is an open source command line text editor. When closing a window, vim may try to access already freed window structure. Exploitation beyond crashing the application has not been shown to be viable. This issue has been addressed in commit `25aabc2b` which has been included in release version 9.0.2106. Users are advised to upgrade. There are no known workarounds for this vulnerability.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Alpine:v3.19 | vim | 0 | 9.0.2112-r0 |
| Alpine:v3.20 | vim | 0 | 9.0.2112-r0 |
| Alpine:v3.21 | vim | 0 | 9.0.2112-r0 |
| Alpine:v3.22 | vim | 0 | 9.0.2112-r0 |
| Debian:11 | vim | 0 | No fix |
| Debian:12 | vim | 0 | No fix |
| Debian:13 | vim | 0 | 2:9.0.2116-1 |
| Mageia:9 | vim | 0 | 9.0.2130-2.mga9 |
| SUSE:Enterprise Storage 7.1 | vim | 0 | 9.1.0111-150000.5.60.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS | vim | 0 | 9.1.0111-150000.5.60.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS | vim | 0 | 9.1.0111-150000.5.60.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS | vim | 0 | 9.1.0111-150000.5.60.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS | vim | 0 | 9.1.0111-150000.5.60.1 |
| SUSE:Linux Enterprise Micro 5.1 | vim | 0 | 9.1.0111-150000.5.60.1 |
| SUSE:Linux Enterprise Micro 5.2 | vim | 0 | 9.1.0111-150000.5.60.1 |
| SUSE:Linux Enterprise Micro 5.3 | vim | 0 | 9.1.0111-150000.5.60.1 |
| SUSE:Linux Enterprise Micro 5.4 | vim | 0 | 9.1.0111-150000.5.60.1 |
| SUSE:Linux Enterprise Micro 5.5 | vim | 0 | 9.1.0111-150500.20.9.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP5 | vim | 0 | 9.1.0111-150500.20.9.1 |
| SUSE:Linux Enterprise Module for Desktop Applications 15 SP5 | vim | 0 | 9.1.0111-150500.20.9.1 |
| SUSE:Linux Enterprise Server 12 SP5 | vim | 0 | 9.1.0111-17.29.1 |
| SUSE:Linux Enterprise Server 15 SP2-LTSS | vim | 0 | 9.1.0111-150000.5.60.1 |
| SUSE:Linux Enterprise Server 15 SP3-LTSS | vim | 0 | 9.1.0111-150000.5.60.1 |
| SUSE:Linux Enterprise Server 15 SP4-LTSS | vim | 0 | 9.1.0111-150000.5.60.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP5 | vim | 0 | 9.1.0111-17.29.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP2 | vim | 0 | 9.1.0111-150000.5.60.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP3 | vim | 0 | 9.1.0111-150000.5.60.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP4 | vim | 0 | 9.1.0111-150000.5.60.1 |
| SUSE:Manager Proxy 4.3 | vim | 0 | 9.1.0111-150000.5.60.1 |
| SUSE:Manager Server 4.3 | vim | 0 | 9.1.0111-150000.5.60.1 |
| Ubuntu:20.04:LTS | vim | 0 | 2:8.1.2269-1ubuntu5.21 |
| Ubuntu:22.04:LTS | vim | 0 | 2:8.2.3995-1ubuntu2.15 |
| Ubuntu:23.10 | vim | 0 | 2:9.0.1672-1ubuntu2.2 |
| Ubuntu:Pro:14.04:LTS | vim | 0 | 2:7.4.052-1ubuntu3.1+esm15 |
| Ubuntu:Pro:16.04:LTS | vim | 0 | 2:7.4.1689-3ubuntu1.5+esm22 |
| Ubuntu:Pro:18.04:LTS | vim | 0 | 2:8.0.1453-1ubuntu1.13+esm7 |
| openSUSE:Leap 15.5 | vim | 0 | 9.1.0111-150500.20.9.1 |
| openSUSE:Leap Micro 5.3 | vim | 0 | 9.1.0111-150000.5.60.1 |
| openSUSE:Leap Micro 5.4 | vim | 0 | 9.1.0111-150000.5.60.1 |
Related vulnerabilities
- CVE-2023-48706 Vim is a UNIX editor that, prior to version 9.0.2121, has a heap-use-after-free… Also affects vim
- 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