CVE-2022-1927
High · 7.8CVSS
7.8
EPSS
1.7%
Published
May 29, 2022
CISA due date
—
Cloudanix analysis
A flaw in the popular text editor Vim can let attackers who trick someone into opening a bad file peek at or disrupt information on that computer.
- Exploitation
- Requires User Interaction
- Attacker needs
- User Interaction
- Complexity
- Low
- Impact
- Full Compromise
- Component
- Application
- Class
- Memory Corruption
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Buffer over-read in Vim allows reading memory beyond allocated buffers, leading to information disclosure or application crashes.
Why it matters to the business
Organizations relying on Vim for code editing face risks of sensitive data exposure or workflow interruptions until systems are updated, especially given the long time since public disclosure.
How an attack unfolds
An attacker creates a specially crafted file that triggers the buffer over-read when opened in a vulnerable Vim version; with user interaction required, the flaw can be leveraged locally to read adjacent memory contents or cause denial of service.
How to fix it
Upgrade vim/vim to the fixed commit 98056533b96b6b5d8849641de93185dd7bcadc44 or later release; rebuild from source or obtain updated packages containing this commit.
How to confirm the fix worked
Confirm Vim reports the fixed commit hash or version 8.2+; test with known triggering inputs to verify the over-read no longer occurs.
Typical attack path
- Identify or craft a malicious file exploiting the buffer over-read condition
- Deliver the file to a target user via email, shared storage, or download
- User opens the file in vulnerable Vim (UI:R vector)
- Memory contents are read beyond buffer bounds, enabling data leakage or crash
How to detect it
Review system logs and process crash reports for Vim segmentation faults or abnormal memory access patterns around file open events; correlate with file access timestamps from untrusted sources.
What your security team should do
- Immediately update all Vim installations to the fixed commit across developer and server environments
- Scan for and replace any outdated Vim binaries or source trees still in use
- Monitor internal package repositories for the updated Vim version and enforce its deployment
The record
Buffer Over-read in GitHub repository vim/vim prior to 8.2.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| AlmaLinux:8 | vim-X11 | 0 | 2:8.0.1763-19.el8_6.4 |
| AlmaLinux:8 | vim-common | 0 | 2:8.0.1763-19.el8_6.4 |
| AlmaLinux:8 | vim-enhanced | 0 | 2:8.0.1763-19.el8_6.4 |
| AlmaLinux:8 | vim-filesystem | 0 | 2:8.0.1763-19.el8_6.4 |
| AlmaLinux:8 | vim-minimal | 0 | 2:8.0.1763-19.el8_6.4 |
| AlmaLinux:9 | vim-X11 | 0 | 2:8.2.2637-16.el9_0.3 |
| AlmaLinux:9 | vim-common | 0 | 2:8.2.2637-16.el9_0.3 |
| AlmaLinux:9 | vim-enhanced | 0 | 2:8.2.2637-16.el9_0.3 |
| AlmaLinux:9 | vim-filesystem | 0 | 2:8.2.2637-16.el9_0.3 |
| AlmaLinux:9 | vim-minimal | 0 | 2:8.2.2637-16.el9_0.3 |
| Debian:11 | vim | 0 | No fix |
| Debian:12 | vim | 0 | 2:9.0.0135-1 |
| Debian:13 | vim | 0 | 2:9.0.0135-1 |
| Mageia:8 | vim | 0 | 8.2.5052-1.mga8 |
| Red Hat:enterprise_linux:8::appstream | vim | 0 | 2:8.0.1763-19.el8_6.4 |
| Red Hat:enterprise_linux:8::appstream | vim-X11 | 0 | 2:8.0.1763-19.el8_6.4 |
| Red Hat:enterprise_linux:8::appstream | vim-X11-debuginfo | 0 | 2:8.0.1763-19.el8_6.4 |
| Red Hat:enterprise_linux:8::appstream | vim-common | 0 | 2:8.0.1763-19.el8_6.4 |
| Red Hat:enterprise_linux:8::appstream | vim-common-debuginfo | 0 | 2:8.0.1763-19.el8_6.4 |
| Red Hat:enterprise_linux:8::appstream | vim-debuginfo | 0 | 2:8.0.1763-19.el8_6.4 |
| Red Hat:enterprise_linux:8::appstream | vim-debugsource | 0 | 2:8.0.1763-19.el8_6.4 |
| Red Hat:enterprise_linux:8::appstream | vim-enhanced | 0 | 2:8.0.1763-19.el8_6.4 |
| Red Hat:enterprise_linux:8::appstream | vim-enhanced-debuginfo | 0 | 2:8.0.1763-19.el8_6.4 |
| Red Hat:enterprise_linux:8::appstream | vim-filesystem | 0 | 2:8.0.1763-19.el8_6.4 |
| Red Hat:enterprise_linux:8::appstream | vim-minimal | 0 | 2:8.0.1763-19.el8_6.4 |
| Red Hat:enterprise_linux:8::appstream | vim-minimal-debuginfo | 0 | 2:8.0.1763-19.el8_6.4 |
| Red Hat:enterprise_linux:8::baseos | vim | 0 | 2:8.0.1763-19.el8_6.4 |
| Red Hat:enterprise_linux:8::baseos | vim-X11 | 0 | 2:8.0.1763-19.el8_6.4 |
| Red Hat:enterprise_linux:8::baseos | vim-X11-debuginfo | 0 | 2:8.0.1763-19.el8_6.4 |
| Red Hat:enterprise_linux:8::baseos | vim-common | 0 | 2:8.0.1763-19.el8_6.4 |
| Red Hat:enterprise_linux:8::baseos | vim-common-debuginfo | 0 | 2:8.0.1763-19.el8_6.4 |
| Red Hat:enterprise_linux:8::baseos | vim-debuginfo | 0 | 2:8.0.1763-19.el8_6.4 |
| Red Hat:enterprise_linux:8::baseos | vim-debugsource | 0 | 2:8.0.1763-19.el8_6.4 |
| Red Hat:enterprise_linux:8::baseos | vim-enhanced | 0 | 2:8.0.1763-19.el8_6.4 |
| Red Hat:enterprise_linux:8::baseos | vim-enhanced-debuginfo | 0 | 2:8.0.1763-19.el8_6.4 |
| Red Hat:enterprise_linux:8::baseos | vim-filesystem | 0 | 2:8.0.1763-19.el8_6.4 |
| Red Hat:enterprise_linux:8::baseos | vim-minimal | 0 | 2:8.0.1763-19.el8_6.4 |
| Red Hat:enterprise_linux:8::baseos | vim-minimal-debuginfo | 0 | 2:8.0.1763-19.el8_6.4 |
| Red Hat:enterprise_linux:9::appstream | vim | 0 | 2:8.2.2637-16.el9_0.3 |
| Red Hat:enterprise_linux:9::appstream | vim-X11 | 0 | 2:8.2.2637-16.el9_0.3 |
| Red Hat:enterprise_linux:9::appstream | vim-X11-debuginfo | 0 | 2:8.2.2637-16.el9_0.3 |
| Red Hat:enterprise_linux:9::appstream | vim-common | 0 | 2:8.2.2637-16.el9_0.3 |
| Red Hat:enterprise_linux:9::appstream | vim-common-debuginfo | 0 | 2:8.2.2637-16.el9_0.3 |
| Red Hat:enterprise_linux:9::appstream | vim-debuginfo | 0 | 2:8.2.2637-16.el9_0.3 |
| Red Hat:enterprise_linux:9::appstream | vim-debugsource | 0 | 2:8.2.2637-16.el9_0.3 |
| Red Hat:enterprise_linux:9::appstream | vim-enhanced | 0 | 2:8.2.2637-16.el9_0.3 |
| Red Hat:enterprise_linux:9::appstream | vim-enhanced-debuginfo | 0 | 2:8.2.2637-16.el9_0.3 |
| Red Hat:enterprise_linux:9::appstream | vim-filesystem | 0 | 2:8.2.2637-16.el9_0.3 |
| Red Hat:enterprise_linux:9::appstream | vim-minimal | 0 | 2:8.2.2637-16.el9_0.3 |
| Red Hat:enterprise_linux:9::appstream | vim-minimal-debuginfo | 0 | 2:8.2.2637-16.el9_0.3 |
| Red Hat:enterprise_linux:9::baseos | vim | 0 | 2:8.2.2637-16.el9_0.3 |
| Red Hat:enterprise_linux:9::baseos | vim-X11 | 0 | 2:8.2.2637-16.el9_0.3 |
| Red Hat:enterprise_linux:9::baseos | vim-X11-debuginfo | 0 | 2:8.2.2637-16.el9_0.3 |
| Red Hat:enterprise_linux:9::baseos | vim-common | 0 | 2:8.2.2637-16.el9_0.3 |
| Red Hat:enterprise_linux:9::baseos | vim-common-debuginfo | 0 | 2:8.2.2637-16.el9_0.3 |
| Red Hat:enterprise_linux:9::baseos | vim-debuginfo | 0 | 2:8.2.2637-16.el9_0.3 |
| Red Hat:enterprise_linux:9::baseos | vim-debugsource | 0 | 2:8.2.2637-16.el9_0.3 |
| Red Hat:enterprise_linux:9::baseos | vim-enhanced | 0 | 2:8.2.2637-16.el9_0.3 |
| Red Hat:enterprise_linux:9::baseos | vim-enhanced-debuginfo | 0 | 2:8.2.2637-16.el9_0.3 |
| Red Hat:enterprise_linux:9::baseos | vim-filesystem | 0 | 2:8.2.2637-16.el9_0.3 |
| Red Hat:enterprise_linux:9::baseos | vim-minimal | 0 | 2:8.2.2637-16.el9_0.3 |
| Red Hat:enterprise_linux:9::baseos | vim-minimal-debuginfo | 0 | 2:8.2.2637-16.el9_0.3 |
| Red Hat:rhev_hypervisor:4.4::el8 | vim | 0 | 2:8.0.1763-19.el8_6.4 |
| Red Hat:rhev_hypervisor:4.4::el8 | vim-X11 | 0 | 2:8.0.1763-19.el8_6.4 |
| Red Hat:rhev_hypervisor:4.4::el8 | vim-X11-debuginfo | 0 | 2:8.0.1763-19.el8_6.4 |
| Red Hat:rhev_hypervisor:4.4::el8 | vim-common | 0 | 2:8.0.1763-19.el8_6.4 |
| Red Hat:rhev_hypervisor:4.4::el8 | vim-common-debuginfo | 0 | 2:8.0.1763-19.el8_6.4 |
| Red Hat:rhev_hypervisor:4.4::el8 | vim-debuginfo | 0 | 2:8.0.1763-19.el8_6.4 |
| Red Hat:rhev_hypervisor:4.4::el8 | vim-debugsource | 0 | 2:8.0.1763-19.el8_6.4 |
| Red Hat:rhev_hypervisor:4.4::el8 | vim-enhanced | 0 | 2:8.0.1763-19.el8_6.4 |
| Red Hat:rhev_hypervisor:4.4::el8 | vim-enhanced-debuginfo | 0 | 2:8.0.1763-19.el8_6.4 |
| Red Hat:rhev_hypervisor:4.4::el8 | vim-filesystem | 0 | 2:8.0.1763-19.el8_6.4 |
| Red Hat:rhev_hypervisor:4.4::el8 | vim-minimal | 0 | 2:8.0.1763-19.el8_6.4 |
| Red Hat:rhev_hypervisor:4.4::el8 | vim-minimal-debuginfo | 0 | 2:8.0.1763-19.el8_6.4 |
| Rocky Linux:8 | vim | 0 | 2:8.0.1763-19.el8_6.4 |
| Rocky Linux:9 | vim | 0 | 2:8.2.2637-16.el9_0.3 |
| SUSE:Enterprise Storage 6 | vim | 0 | 8.2.5038-150000.5.21.1 |
| SUSE:Enterprise Storage 7 | vim | 0 | 8.2.5038-150000.5.21.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP1-ESPOS | vim | 0 | 8.2.5038-150000.5.21.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP1-LTSS | vim | 0 | 8.2.5038-150000.5.21.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP2-ESPOS | vim | 0 | 8.2.5038-150000.5.21.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS | vim | 0 | 8.2.5038-150000.5.21.1 |
| SUSE:Linux Enterprise High Performance Computing 15-ESPOS | vim | 0 | 8.2.5038-150000.5.21.1 |
| SUSE:Linux Enterprise High Performance Computing 15-LTSS | vim | 0 | 8.2.5038-150000.5.21.1 |
| SUSE:Linux Enterprise Micro 5.1 | vim | 0 | 8.2.5038-150000.5.21.1 |
| SUSE:Linux Enterprise Micro 5.2 | vim | 0 | 8.2.5038-150000.5.21.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP3 | vim | 0 | 8.2.5038-150000.5.21.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP4 | vim | 0 | 8.2.5038-150000.5.21.1 |
| SUSE:Linux Enterprise Module for Desktop Applications 15 SP3 | vim | 0 | 8.2.5038-150000.5.21.1 |
| SUSE:Linux Enterprise Module for Desktop Applications 15 SP4 | vim | 0 | 8.2.5038-150000.5.21.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 | 8.2.5038-150000.5.21.1 |
| SUSE:Linux Enterprise Server 15 SP1-LTSS | vim | 0 | 8.2.5038-150000.5.21.1 |
| SUSE:Linux Enterprise Server 15 SP2-BCL | vim | 0 | 8.2.5038-150000.5.21.1 |
| SUSE:Linux Enterprise Server 15 SP2-LTSS | vim | 0 | 8.2.5038-150000.5.21.1 |
| SUSE:Linux Enterprise Server 15-LTSS | vim | 0 | 8.2.5038-150000.5.21.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 | 8.2.5038-150000.5.21.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP1 | vim | 0 | 8.2.5038-150000.5.21.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP2 | vim | 0 | 8.2.5038-150000.5.21.1 |
| SUSE:Manager Proxy 4.1 | vim | 0 | 8.2.5038-150000.5.21.1 |
| SUSE:Manager Retail Branch Server 4.1 | vim | 0 | 8.2.5038-150000.5.21.1 |
| SUSE:Manager Server 4.1 | vim | 0 | 8.2.5038-150000.5.21.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:18.04:LTS | vim | 0 | 2:8.0.1453-1ubuntu1.12 |
| Ubuntu:20.04:LTS | vim | 0 | 2:8.1.2269-1ubuntu5.13 |
| Ubuntu:22.04:LTS | vim | 0 | 2:8.2.3995-1ubuntu2.5 |
| Ubuntu:Pro:14.04:LTS | vim | 0 | 2:7.4.052-1ubuntu3.1+esm8 |
| openSUSE:Leap 15.3 | vim | 0 | 8.2.5038-150000.5.21.1 |
| openSUSE:Leap 15.4 | vim | 0 | 8.2.5038-150000.5.21.1 |
| openSUSE:Tumbleweed | vim | 0 | 9.0.0453-2.1 |
Related vulnerabilities
- 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
- CVE-2022-1420 Use of Out-of-range Pointer Offset in GitHub repository vim/vim prior to 8.2.4774. Also affects vim-X11
- CVE-2022-0554 Use of Out-of-range Pointer Offset in GitHub repository vim/vim prior to 8.2. Also affects vim-X11