Cloudanix VulnDB

CVE-2023-48233

Low · 2.8

CVSS

2.8

EPSS

0.8%

Published

Nov 16, 2023

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

A text editor can stop working if someone types an extremely large number into a search-and-replace command, though it requires the person using the editor to run that command.

Exploitation
Requires User Interaction
Attacker needs
User Interaction
Complexity
Low
Impact
Denial Of Service
Component
Application
Class
Improper Input Validation
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

An overly large numeric count supplied to the :s substitute command triggers an abort with e_value_too_large because the value exceeds the range of a signed long, causing the process to terminate.

Why it matters to the business

Users editing files with crafted substitute commands may experience unexpected editor termination, interrupting editing sessions in environments where Vim is the primary editor; the issue is old, low-severity, and has no known exploitation in the wild.

How an attack unfolds

An attacker supplies a maliciously large count value after the :s command in a Vim session; because user interaction is required to execute the command, the editor aborts instead of processing the substitution.

How to fix it

Upgrade Vim to release 9.0.2108 or later, which includes commit ac63787734fda2e294e477af52b3bd601517fa78. No workarounds exist.

How to confirm the fix worked

Confirm the installed Vim binary reports version 9.0.2108 or newer; test that a :s command with a count exceeding LONG_MAX now produces the expected abort rather than undefined behavior.

Typical attack path

  1. Obtain or craft a document or command line that will be opened in Vim
  2. Trick or convince the user to execute a :s command containing an extremely large numeric count
  3. Vim evaluates the count, detects the overflow condition, and aborts with e_value_too_large

How to detect it

Review shell history, Vim script logs, or editor session recordings for :s commands containing numeric counts near or beyond 32-bit signed limits; no public exploit artifacts or network indicators are known.

What your security team should do

  • Prioritize upgrade of all Vim installations to 9.0.2108 or newer within normal patch cycles
  • Monitor upstream Vim release announcements for any follow-on fixes
  • Educate users that unusually large numeric arguments to editing commands can cause abrupt termination

The record

Vim is an open source command line text editor. If the count after the :s command is larger than what fits into a (signed) long variable, abort with e_value_too_large. Impact is low, user interaction is required and a crash may not even happen in all situations. This issue has been addressed in commit `ac6378773` which has been included in release version 9.0.2108. 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