CVE-2022-3296
High · 7.8CVSS
7.8
EPSS
0.6%
Published
Sep 25, 2022
CISA due date
—
Cloudanix analysis
A problem in the popular Vim text editor could let attackers take over a computer when someone opens a specially crafted file.
- Exploitation
- Requires User Interaction
- Attacker needs
- User Interaction
- Complexity
- Low
- Impact
- Full Compromise
- Component
- Application
- Class
- Buffer Overflow
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Stack-based buffer overflow in Vim allowing memory corruption and potential arbitrary code execution when processing specially crafted input files.
Why it matters to the business
Attackers could gain control of developer or administrator systems through malicious files, leading to data theft, ransomware deployment, or further network compromise; the vulnerability has been public for over four years with public exploits available.
How an attack unfolds
An attacker creates a malformed file that triggers the stack overflow in vulnerable Vim versions; when a user opens the file locally with Vim, the overflow allows shellcode execution without authentication.
How to fix it
Upgrade vim/vim to commit 96b9bf8f74af8abf1e30054f996708db7dc285be or later (corresponding to version 9.0.0577 or newer); rebuild from source or use updated distribution packages.
How to confirm the fix worked
Run 'vim --version' and confirm the build includes commit 96b9bf8f74af8abf1e30054f996708db7dc285be or is at least 9.0.0577; test with known proof-of-concept inputs in an isolated environment.
Typical attack path
- Craft malicious file exploiting the stack buffer overflow
- Deliver the file via email, download link, or shared storage
- Victim opens the file using a vulnerable Vim binary
- Overflow executes attacker-controlled code for persistence or lateral movement
How to detect it
Review system and application logs for Vim crashes or unexpected process spawns after file opens; correlate with file access timestamps on developer machines; search for post-exploitation artifacts such as new binaries or network connections initiated by vim processes.
What your security team should do
- Immediately update all Vim installations to the fixed commit across developer workstations and servers
- Block execution of outdated Vim binaries via application allow-listing
- Scan source repositories and build pipelines for pinned vulnerable Vim versions
- Educate users on risks of opening untrusted files with local editors
The record
Stack-based Buffer Overflow in GitHub repository vim/vim prior to 9.0.0577.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:11 | vim | 0 | No fix |
| Debian:12 | vim | 0 | 2:9.0.0626-1 |
| Debian:13 | vim | 0 | 2:9.0.0626-1 |
| Mageia:8 | vim | 0 | 9.0.828-1.mga8 |
| SUSE:Enterprise Storage 6 | vim | 0 | 9.0.0814-150000.5.28.1 |
| SUSE:Enterprise Storage 7 | vim | 0 | 9.0.0814-150000.5.28.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP1-ESPOS | vim | 0 | 9.0.0814-150000.5.28.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP1-LTSS | vim | 0 | 9.0.0814-150000.5.28.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP2-ESPOS | vim | 0 | 9.0.0814-150000.5.28.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS | vim | 0 | 9.0.0814-150000.5.28.1 |
| SUSE:Linux Enterprise High Performance Computing 15-ESPOS | vim | 0 | 9.0.0814-150000.5.28.1 |
| SUSE:Linux Enterprise High Performance Computing 15-LTSS | vim | 0 | 9.0.0814-150000.5.28.1 |
| SUSE:Linux Enterprise Micro 5.1 | vim | 0 | 9.0.0814-150000.5.28.1 |
| SUSE:Linux Enterprise Micro 5.2 | vim | 0 | 9.0.0814-150000.5.28.1 |
| SUSE:Linux Enterprise Micro 5.3 | vim | 0 | 9.0.0814-150000.5.28.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP3 | vim | 0 | 9.0.0814-150000.5.28.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP4 | vim | 0 | 9.0.0814-150000.5.28.1 |
| SUSE:Linux Enterprise Module for Desktop Applications 15 SP3 | vim | 0 | 9.0.0814-150000.5.28.1 |
| SUSE:Linux Enterprise Module for Desktop Applications 15 SP4 | vim | 0 | 9.0.0814-150000.5.28.1 |
| SUSE:Linux Enterprise Server 12 SP2-BCL | vim | 0 | 9.0.0814-17.9.1 |
| SUSE:Linux Enterprise Server 12 SP3-BCL | vim | 0 | 9.0.0814-17.9.1 |
| SUSE:Linux Enterprise Server 12 SP4-LTSS | vim | 0 | 9.0.0814-17.9.1 |
| SUSE:Linux Enterprise Server 12 SP5 | vim | 0 | 9.0.0814-17.9.1 |
| SUSE:Linux Enterprise Server 15 SP1-BCL | vim | 0 | 9.0.0814-150000.5.28.1 |
| SUSE:Linux Enterprise Server 15 SP1-LTSS | vim | 0 | 9.0.0814-150000.5.28.1 |
| SUSE:Linux Enterprise Server 15 SP2-BCL | vim | 0 | 9.0.0814-150000.5.28.1 |
| SUSE:Linux Enterprise Server 15 SP2-LTSS | vim | 0 | 9.0.0814-150000.5.28.1 |
| SUSE:Linux Enterprise Server 15-LTSS | vim | 0 | 9.0.0814-150000.5.28.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP4 | vim | 0 | 9.0.0814-17.9.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP5 | vim | 0 | 9.0.0814-17.9.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 | vim | 0 | 9.0.0814-150000.5.28.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP1 | vim | 0 | 9.0.0814-150000.5.28.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP2 | vim | 0 | 9.0.0814-150000.5.28.1 |
| SUSE:Manager Proxy 4.1 | vim | 0 | 9.0.0814-150000.5.28.1 |
| SUSE:Manager Retail Branch Server 4.1 | vim | 0 | 9.0.0814-150000.5.28.1 |
| SUSE:Manager Server 4.1 | vim | 0 | 9.0.0814-150000.5.28.1 |
| SUSE:OpenStack Cloud 9 | vim | 0 | 9.0.0814-17.9.1 |
| SUSE:OpenStack Cloud Crowbar 9 | vim | 0 | 9.0.0814-17.9.1 |
| Ubuntu:20.04:LTS | vim | 0 | No fix |
| Ubuntu:22.04:LTS | vim | 0 | No fix |
| Ubuntu:Pro:14.04:LTS | vim | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | vim | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | vim | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | vim | 0 | No fix |
| openSUSE:Leap 15.3 | vim | 0 | 9.0.0814-150000.5.28.1 |
| openSUSE:Leap 15.4 | vim | 0 | 9.0.0814-150000.5.28.1 |
| openSUSE:Leap Micro 5.2 | vim | 0 | 9.0.0814-150000.5.28.1 |
| openSUSE:Leap Micro 5.3 | vim | 0 | 9.0.0814-150000.5.28.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