Cloudanix VulnDB

CVE-2023-48235

Low · 2.8

CVSS

2.8

EPSS

0.8%

Published

Nov 16, 2023

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

A problem in the Vim text editor can make it crash when handling certain editing commands, though it needs direct user action and does not allow theft of information.

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

An integer overflow occurs in Vim's ex address parsing when a negative line number causes LONG_MAX - lnum to overflow the existing bounds check, potentially leading to a crash.

Why it matters to the business

Users of the Vim editor may encounter unexpected crashes while editing files with certain relative address expressions, resulting in minor workflow interruptions and possible loss of unsaved changes. No ransomware or widespread exploitation has been observed.

How an attack unfolds

An attacker crafts input containing a relative ex address that produces a negative line number, then relies on the victim opening the file or running the command in an affected Vim version to trigger the flawed overflow check.

How to fix it

Upgrade to Vim release 9.0.2110 or the commit 060623e4a3bc72b011e7cd92bedb3bfb64e06200. No workarounds exist.

How to confirm the fix worked

Confirm the installed Vim version is 9.0.2110 or newer and test parsing of relative ex addresses that previously triggered negative line numbers.

Typical attack path

  1. Craft malicious input with a relative ex address that evaluates to a negative line number.
  2. Deliver the input via a file or command line that the target user opens or executes in Vim.
  3. Trigger the address parsing code path that performs the flawed LONG_MAX subtraction.

How to detect it

Inspect system logs and crash reports for Vim process terminations that coincide with opening files containing ex commands.

What your security team should do

  • Upgrade all Vim installations to the fixed version without delay.
  • Replace older Vim binaries in build pipelines and container images.
  • Review editor usage policies for environments handling untrusted files.

The record

Vim is an open source command line text editor. When parsing relative ex addresses one may unintentionally cause an overflow. Ironically this happens in the existing overflow check, because the line number becomes negative and LONG_MAX - lnum will cause the overflow. Impact is low, user interaction is required and a crash may not even happen in all situations. This issue has been addressed in commit `060623e` which has been included in release version 9.0.2110. Users are advised to upgrade. There are no known workarounds for this vulnerability.

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.2116-1
Mageia:9 vim 0 9.0.2130-2.mga9
SUSE:Enterprise Storage 7.1 vim 0 9.1.0111-150000.5.60.1
SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS vim 0 9.1.0111-150000.5.60.1
SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS vim 0 9.1.0111-150000.5.60.1
SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS vim 0 9.1.0111-150000.5.60.1
SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS vim 0 9.1.0111-150000.5.60.1
SUSE:Linux Enterprise Micro 5.1 vim 0 9.1.0111-150000.5.60.1
SUSE:Linux Enterprise Micro 5.2 vim 0 9.1.0111-150000.5.60.1
SUSE:Linux Enterprise Micro 5.3 vim 0 9.1.0111-150000.5.60.1
SUSE:Linux Enterprise Micro 5.4 vim 0 9.1.0111-150000.5.60.1
SUSE:Linux Enterprise Micro 5.5 vim 0 9.1.0111-150500.20.9.1
SUSE:Linux Enterprise Module for Basesystem 15 SP5 vim 0 9.1.0111-150500.20.9.1
SUSE:Linux Enterprise Module for Desktop Applications 15 SP5 vim 0 9.1.0111-150500.20.9.1
SUSE:Linux Enterprise Server 12 SP5 vim 0 9.1.0111-17.29.1
SUSE:Linux Enterprise Server 15 SP2-LTSS vim 0 9.1.0111-150000.5.60.1
SUSE:Linux Enterprise Server 15 SP3-LTSS vim 0 9.1.0111-150000.5.60.1
SUSE:Linux Enterprise Server 15 SP4-LTSS vim 0 9.1.0111-150000.5.60.1
SUSE:Linux Enterprise Server for SAP Applications 12 SP5 vim 0 9.1.0111-17.29.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP2 vim 0 9.1.0111-150000.5.60.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP3 vim 0 9.1.0111-150000.5.60.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP4 vim 0 9.1.0111-150000.5.60.1
SUSE:Manager Proxy 4.3 vim 0 9.1.0111-150000.5.60.1
SUSE:Manager Server 4.3 vim 0 9.1.0111-150000.5.60.1
Ubuntu:20.04:LTS vim 0 2:8.1.2269-1ubuntu5.21
Ubuntu:22.04:LTS vim 0 2:8.2.3995-1ubuntu2.15
Ubuntu:23.10 vim 0 2:9.0.1672-1ubuntu2.2
Ubuntu:Pro:14.04:LTS vim 0 2:7.4.052-1ubuntu3.1+esm15
Ubuntu:Pro:16.04:LTS vim 0 2:7.4.1689-3ubuntu1.5+esm22
Ubuntu:Pro:18.04:LTS vim 0 2:8.0.1453-1ubuntu1.13+esm7
openSUSE:Leap 15.5 vim 0 9.1.0111-150500.20.9.1
openSUSE:Leap Micro 5.3 vim 0 9.1.0111-150000.5.60.1
openSUSE:Leap Micro 5.4 vim 0 9.1.0111-150000.5.60.1

Related vulnerabilities