CVE-2022-3324
High · 7.8CVSS
7.8
EPSS
0.5%
Published
Sep 27, 2022
CISA due date
—
Cloudanix analysis
A problem in the Vim text editor could let attackers take control of a computer if someone opens a specially prepared 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's input handling routines allows memory corruption when processing crafted files or commands, enabling potential arbitrary code execution or denial of service.
Why it matters to the business
Compromise of developer workstations or build systems could expose source code and intellectual property or enable lateral movement; low EPSS and absence from KEV indicate limited in-the-wild use despite the flaw's age and high CVSS.
How an attack unfolds
An attacker crafts a file or command sequence that overflows an internal stack buffer during Vim's parsing; the victim opens the file or executes the command in a vulnerable version, triggering memory corruption that can be leveraged for code execution.
How to fix it
Upgrade all Vim installations to version 9.0.0598 or newer by applying commit 8279af514ca7e5fd3c31cf13b0864163d1a0bfeb; rebuild from source or use updated distribution packages where available.
How to confirm the fix worked
Confirm Vim reports version 9.0.0598 or later; attempt to reproduce the original crash or corruption with known triggering inputs after the update.
Typical attack path
- Identify or create input that triggers the buffer overflow in Vim's handling logic
- Deliver the malicious file or command to the target environment
- Victim opens the file or runs the command in an affected Vim instance
- Overflow corrupts memory allowing attacker-controlled code execution
How to detect it
Look in process and audit logs for Vim crashes or abnormal memory usage when opening files; correlate with file creation or download events preceding editor launches.
What your security team should do
- Immediately update Vim to the fixed commit across all developer and CI systems
- Inventory and replace any embedded or packaged Vim binaries older than 9.0.0598
- Restrict opening of untrusted files in Vim until patches are applied
- Monitor EPSS trend and new exploit publications for changes in risk
The record
Stack-based Buffer Overflow in GitHub repository vim/vim prior to 9.0.0598.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:10 | vim | 0 | 2:8.1.0875-5+deb10u3 |
| Debian:11 | vim | 0 | No fix |
| Debian:11 | vim | 0 | 2:8.2.2434-3+deb11u2 |
| 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 | 2:8.1.2269-1ubuntu5.18 |
| Ubuntu:22.04:LTS | vim | 0 | 2:8.2.3995-1ubuntu2.12 |
| Ubuntu:Pro:14.04:LTS | vim | 0 | 2:7.4.052-1ubuntu3.1+esm13 |
| Ubuntu:Pro:16.04:LTS | vim | 0 | 2:7.4.1689-3ubuntu1.5+esm14 |
| Ubuntu:Pro:18.04:LTS | vim | 0 | 2:8.0.1453-1ubuntu1.13+esm5 |
| 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-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-2610 Integer Overflow or Wraparound in GitHub repository vim/vim prior to 9.0.1532. Also affects vim
- CVE-2022-2598 Out-of-bounds Write to API in GitHub repository vim/vim prior to 9.0.0100. Also affects vim
- CVE-2022-1720 Buffer Over-read in function grab_file_name in GitHub repository vim/vim prior to… Also affects vim
- CVE-2022-2000 Out-of-bounds Write in GitHub repository vim/vim prior to 8.2. Also affects vim
- CVE-2022-1968 Use After Free in GitHub repository vim/vim prior to 8.2. Also affects vim
- CVE-2022-1942 Heap-based Buffer Overflow in GitHub repository vim/vim prior to 8.2. Also affects vim