Cloudanix VulnDB

CVE-2023-2609

Medium · 5.5

CVSS

5.5

EPSS

0.5%

Published

May 9, 2023

CISA due date

—

Cloudanix analysis

Monitor only SSVC: Track

A bug in the popular Vim text editor can make the program crash when someone opens a specially made file, interrupting editing work until the editor is updated.

Exploit Available
Exploitation
Requires User Interaction
Attacker needs
User Interaction
Complexity
Low
Impact
Denial Of Service
Component
Application
Class
Memory Corruption
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

NULL pointer dereference in Vim's memory handling routines causes the process to crash when processing specially crafted input.

Why it matters to the business

Users editing files with Vim may experience unexpected crashes that interrupt workflows and require recovery or restarts; the large number of Vim installations across development and operations environments increases the scope of potential disruption.

How an attack unfolds

An attacker prepares a malicious file that triggers the NULL dereference inside Vim. When a victim opens the file locally with an affected Vim version the dereference occurs and the editor terminates. Public exploit code exists that automates file generation for this crash.

How to fix it

Upgrade Vim to a build containing commit d1ae8366aff286d41e7f5bc513cc0a1af5130aad or later (equivalent to version 9.0.1531 or newer). Rebuild from source or install updated packages from distribution repositories that have incorporated the fix.

How to confirm the fix worked

Confirm the installed Vim reports version 9.0.1531 or newer, or verify the presence of commit d1ae8366aff286d41e7f5bc513cc0a1af5130aad in the source tree. Test by attempting to open known trigger files and verifying the editor no longer crashes.

Typical attack path

  1. Attacker crafts a file containing input that reaches the vulnerable NULL dereference path in Vim.
  2. Victim opens the file using an affected Vim binary (often via command line or file association).
  3. Vim dereferences the NULL pointer during parsing or rendering and crashes.
  4. Attacker may combine the crash with other techniques if seeking further impact, though the primary effect is denial of service.

How to detect it

Review system and application logs for unexpected Vim process terminations or segmentation faults around the time users report editor crashes. Correlate crash timestamps with file open events in shell history or file access logs.

What your security team should do

  • Prioritize updating all Vim installations to the fixed commit or version 9.0.1531+ within standard change windows.
  • Disable automatic opening of untrusted files in Vim via file associations until patches are applied.
  • Monitor upstream Vim release notes and distribution security advisories for any follow-on corrections.
  • Educate developers and operators on the risk of opening files from untrusted sources with the editor.

The record

NULL Pointer Dereference in GitHub repository vim/vim prior to 9.0.1531.

Affected packages

Ecosystem Package Introduced Fixed
Debian:11 vim 0 No fix
Debian:12 vim 0 No fix
Debian:13 vim 0 2:9.0.1658-1
SUSE:Enterprise Storage 7 vim 0 9.0.1572-150000.5.46.1
SUSE:Enterprise Storage 7.1 vim 0 9.0.1572-150000.5.46.1
SUSE:Linux Enterprise High Performance Computing 15 SP1-LTSS vim 0 9.0.1572-150000.5.46.1
SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS vim 0 9.0.1572-150000.5.46.1
SUSE:Linux Enterprise High Performance Computing 15 SP3-ESPOS vim 0 9.0.1572-150000.5.46.1
SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS vim 0 9.0.1572-150000.5.46.1
SUSE:Linux Enterprise Micro 5.1 vim 0 9.0.1572-150000.5.46.1
SUSE:Linux Enterprise Micro 5.2 vim 0 9.0.1572-150000.5.46.1
SUSE:Linux Enterprise Micro 5.3 vim 0 9.0.1572-150000.5.46.1
SUSE:Linux Enterprise Micro 5.4 vim 0 9.0.1572-150000.5.46.1
SUSE:Linux Enterprise Module for Basesystem 15 SP4 vim 0 9.0.1572-150000.5.46.1
SUSE:Linux Enterprise Module for Basesystem 15 SP5 vim 0 9.0.1632-150500.20.3.1
SUSE:Linux Enterprise Module for Desktop Applications 15 SP4 vim 0 9.0.1572-150000.5.46.1
SUSE:Linux Enterprise Module for Desktop Applications 15 SP5 vim 0 9.0.1632-150500.20.3.1
SUSE:Linux Enterprise Real Time 15 SP3 vim 0 9.0.1572-150000.5.46.1
SUSE:Linux Enterprise Server 12 SP2-BCL vim 0 9.0.1572-17.18.1
SUSE:Linux Enterprise Server 12 SP5 vim 0 9.0.1572-17.18.1
SUSE:Linux Enterprise Server 15 SP1-LTSS vim 0 9.0.1572-150000.5.46.1
SUSE:Linux Enterprise Server 15 SP2-LTSS vim 0 9.0.1572-150000.5.46.1
SUSE:Linux Enterprise Server 15 SP3-LTSS vim 0 9.0.1572-150000.5.46.1
SUSE:Linux Enterprise Server for SAP Applications 12 SP5 vim 0 9.0.1572-17.18.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP1 vim 0 9.0.1572-150000.5.46.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP2 vim 0 9.0.1572-150000.5.46.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP3 vim 0 9.0.1572-150000.5.46.1
SUSE:Manager Proxy 4.2 vim 0 9.0.1572-150000.5.46.1
SUSE:Manager Server 4.2 vim 0 9.0.1572-150000.5.46.1
Ubuntu:20.04:LTS vim 0 2:8.1.2269-1ubuntu5.15
Ubuntu:22.04:LTS vim 0 2:8.2.3995-1ubuntu2.8
Ubuntu:Pro:14.04:LTS vim 0 2:7.4.052-1ubuntu3.1+esm10
Ubuntu:Pro:16.04:LTS vim 0 2:7.4.1689-3ubuntu1.5+esm18
Ubuntu:Pro:18.04:LTS vim 0 2:8.0.1453-1ubuntu1.13+esm1
openSUSE:Leap 15.4 vim 0 9.0.1572-150000.5.46.1
openSUSE:Leap 15.5 vim 0 9.0.1632-150500.20.3.1
openSUSE:Leap Micro 5.3 vim 0 9.0.1572-150000.5.46.1
openSUSE:Leap Micro 5.4 vim 0 9.0.1572-150000.5.46.1
openSUSE:Tumbleweed vim 0 9.0.1538-1.1

Related vulnerabilities