CVE-2025-53906
Medium · 4.1CVSS
4.1
EPSS
0.9%
Published
Jul 15, 2025
CISA due date
—
Cloudanix analysis
Opening a specially crafted zip file in the Vim editor could let someone replace important files on the computer.
- Exploitation
- Requires User Interaction
- Attacker needs
- User Interaction
- Complexity
- Moderate
- Impact
- Data Tampering
- Component
- Application
- Class
- Path Traversal
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Path traversal in zip.vim allows a crafted ZIP archive to cause arbitrary file overwrites on the host filesystem when the archive is opened for editing.
Why it matters to the business
An attacker who convinces a user to open a malicious archive can replace configuration files or place executables in sensitive locations, potentially enabling later code execution or system integrity loss.
How an attack unfolds
An attacker prepares a ZIP containing filenames with directory traversal sequences, distributes the archive to a target, and relies on the victim opening it directly in Vim; the plugin then writes the embedded content to attacker-chosen paths outside the intended extraction directory.
How to fix it
Upgrade vim to version 9.1.1551 or later; apply commit 586294a04179d855c3d1d4ee5ea83931963680b8 in all affected GIT checkouts.
How to confirm the fix worked
Confirm the installed Vim reports version 9.1.1551 or newer; attempt to open a test archive containing traversal sequences and verify that writes remain confined to the expected directory.
Typical attack path
- Craft ZIP archive with path traversal in entry names
- Deliver archive to victim via email, download, or shared storage
- Victim opens the archive using Vim
- zip.vim plugin performs unintended writes to arbitrary filesystem locations
- Attacker-placed files enable subsequent privilege escalation or persistence
How to detect it
Review file-system audit logs and process creation events around Vim invocations that handle ZIP files; look for writes to unexpected paths or creation of files outside normal user directories after archive editing.
What your security team should do
- Prioritize upgrade of all Vim installations to the patched release
- Restrict opening of untrusted archives with Vim until patches are applied
- Monitor for post-upgrade reports of unexpected file modifications during archive handling
The record
Vim is an open source, command line text editor. Prior to version 9.1.1551, a path traversal issue in Vim’s zip.vim plugin can allow overwriting of arbitrary files when opening specially crafted zip archives. Impact is low because this exploit requires direct user interaction. However, successfully exploitation can lead to overwriting sensitive files or placing executable code in privileged locations, depending on the permissions of the process editing the archive. The victim must edit such a file using Vim which will reveal the filename and the file content, a careful user may suspect some strange things going on. Successful exploitation could results in the ability to execute arbitrary commands on the underlying operating system. Version 9.1.1551 contains a patch for the vulnerability.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| AlmaLinux:10 | vim-X11 | 0 | 2:9.1.083-5.el10_0.1 |
| AlmaLinux:10 | vim-X11 | 0 | 2:9.1.083-6.el10_1 |
| AlmaLinux:10 | vim-common | 0 | 2:9.1.083-5.el10_0.1 |
| AlmaLinux:10 | vim-common | 0 | 2:9.1.083-6.el10_1 |
| AlmaLinux:10 | vim-data | 0 | 2:9.1.083-5.el10_0.1 |
| AlmaLinux:10 | vim-data | 0 | 2:9.1.083-6.el10_1 |
| AlmaLinux:10 | vim-enhanced | 0 | 2:9.1.083-5.el10_0.1 |
| AlmaLinux:10 | vim-enhanced | 0 | 2:9.1.083-6.el10_1 |
| AlmaLinux:10 | vim-filesystem | 0 | 2:9.1.083-5.el10_0.1 |
| AlmaLinux:10 | vim-filesystem | 0 | 2:9.1.083-6.el10_1 |
| AlmaLinux:10 | vim-minimal | 0 | 2:9.1.083-5.el10_0.1 |
| AlmaLinux:10 | vim-minimal | 0 | 2:9.1.083-6.el10_1 |
| AlmaLinux:10 | xxd | 0 | 2:9.1.083-5.el10_0.1 |
| AlmaLinux:10 | xxd | 0 | 2:9.1.083-6.el10_1 |
| AlmaLinux:8 | vim-X11 | 0 | 2:8.0.1763-21.el8_10 |
| AlmaLinux:8 | vim-common | 0 | 2:8.0.1763-21.el8_10 |
| AlmaLinux:8 | vim-enhanced | 0 | 2:8.0.1763-21.el8_10 |
| AlmaLinux:8 | vim-filesystem | 0 | 2:8.0.1763-21.el8_10 |
| AlmaLinux:8 | vim-minimal | 0 | 2:8.0.1763-21.el8_10 |
| AlmaLinux:9 | vim-X11 | 0 | 2:8.2.2637-22.el9_6.1 |
| AlmaLinux:9 | vim-X11 | 0 | 2:8.2.2637-23.el9_7 |
| AlmaLinux:9 | vim-common | 0 | 2:8.2.2637-22.el9_6.1 |
| AlmaLinux:9 | vim-common | 0 | 2:8.2.2637-23.el9_7 |
| AlmaLinux:9 | vim-enhanced | 0 | 2:8.2.2637-22.el9_6.1 |
| AlmaLinux:9 | vim-enhanced | 0 | 2:8.2.2637-23.el9_7 |
| AlmaLinux:9 | vim-filesystem | 0 | 2:8.2.2637-22.el9_6.1 |
| AlmaLinux:9 | vim-filesystem | 0 | 2:8.2.2637-23.el9_7 |
| AlmaLinux:9 | vim-minimal | 0 | 2:8.2.2637-22.el9_6.1 |
| AlmaLinux:9 | vim-minimal | 0 | 2:8.2.2637-23.el9_7 |
| Debian:11 | vim | 0 | No fix |
| Debian:12 | vim | 0 | No fix |
| Debian:13 | vim | 0 | No fix |
| Debian:14 | vim | 0 | No fix |
| Mageia:9 | vim | 0 | 9.1.1552-1.mga9 |
| SUSE:Linux Enterprise High Performance Computing 15 SP5-ESPOS | vim | 0 | 9.2.0110-150500.20.43.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP5-LTSS | vim | 0 | 9.2.0110-150500.20.43.1 |
| SUSE:Linux Enterprise Micro 5.1 | vim | 0 | 9.1.1629-150000.5.78.1 |
| SUSE:Linux Enterprise Micro 5.2 | vim | 0 | 9.1.1629-150000.5.78.1 |
| SUSE:Linux Enterprise Micro 5.3 | vim | 0 | 9.1.1629-150000.5.78.1 |
| SUSE:Linux Enterprise Micro 5.4 | vim | 0 | 9.1.1629-150000.5.78.1 |
| SUSE:Linux Enterprise Micro 5.5 | vim | 0 | 9.1.1629-150500.20.33.1 |
| SUSE:Linux Enterprise Micro 5.5 | vim | 0 | 9.2.0110-150500.20.43.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP6 | vim | 0 | 9.1.1629-150500.20.33.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP7 | vim | 0 | 9.1.1629-150500.20.33.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP7 | vim | 0 | 9.2.0110-150500.20.43.1 |
| SUSE:Linux Enterprise Module for Desktop Applications 15 SP6 | vim | 0 | 9.1.1629-150500.20.33.1 |
| SUSE:Linux Enterprise Module for Desktop Applications 15 SP7 | vim | 0 | 9.1.1629-150500.20.33.1 |
| SUSE:Linux Enterprise Module for Desktop Applications 15 SP7 | vim | 0 | 9.2.0110-150500.20.43.1 |
| SUSE:Linux Enterprise Server 15 SP5-LTSS | vim | 0 | 9.2.0110-150500.20.43.1 |
| SUSE:Linux Enterprise Server 15 SP6-LTSS | vim | 0 | 9.2.0110-150500.20.43.1 |
| SUSE:Linux Enterprise Server LTSS Extended Security 12 SP5 | vim | 0 | 9.1.1629-17.51.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP5 | vim | 0 | 9.2.0110-150500.20.43.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP6 | vim | 0 | 9.2.0110-150500.20.43.1 |
| openSUSE:Leap 15.6 | vim | 0 | 9.1.1629-150500.20.33.1 |
| openSUSE:Leap 15.6 | vim | 0 | 9.2.0110-150500.20.43.1 |
| openSUSE:Leap 16.0 | vim | 0 | 9.2.0110-160000.1.1 |
Related vulnerabilities
- CVE-2025-53905 Vim is an open source, command line text editor. Also affects vim-X11
- CVE-2022-1927 Buffer Over-read in GitHub repository vim/vim prior to 8.2. Also affects vim-X11
- CVE-2022-1897 Out-of-bounds Write in GitHub repository vim/vim prior to 8.2. Also affects vim-X11
- CVE-2022-1785 Out-of-bounds Write in GitHub repository vim/vim prior to 8.2.4977. Also affects vim-X11
- CVE-2022-0318 Heap-based Buffer Overflow in vim/vim prior to 8.2. Also affects vim-X11
- CVE-2022-0261 Heap-based Buffer Overflow in GitHub repository vim/vim prior to 8.2. Also affects vim-X11
- CVE-2021-4019 vim is vulnerable to Heap-based Buffer Overflow Also affects vim-X11
- CVE-2023-4752 Use After Free in GitHub repository vim/vim prior to 9.0.1858. Also affects vim-X11