---
id: CVE-2026-32249
title: 'Vim is an open source, command line text editor'
summary: >-
  Vim is an open source, command line text editor. From 9.1.0011 to before
  9.2.0137, Vim's NFA regex compiler, when encountering a collection containing
  a combining character as the endpoint of a character range (e.g. [0-0\u05bb]),
  incorre…
severity: medium
cvss: 5.3
cvssVector: 'CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:L'
cwe:
  - CWE-476
vendor: vim
product: vim
affected:
  - 'vim >= 9.1.0011, < 9.2.0137'
patched:
  - vim 9.2.0137
published: '2026-03-12'
updated: '2026-07-23'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-32249'
references:
  - url: 'https://github.com/vim/vim/commit/36d6e87542cf823d833e451e09a90ee429899cec'
    label: security-advisories@github.com
  - url: 'https://github.com/vim/vim/releases/tag/v9.2.0137'
    label: security-advisories@github.com
  - url: 'https://github.com/vim/vim/security/advisories/GHSA-9phh-423r-778r'
    label: security-advisories@github.com
tags:
  - nvd
epss: 0.00186
epssPercentile: 0.07255
ingestedAt: '2026-07-23T14:18:25.840Z'
---

## Overview

Vim is an open source, command line text editor. From 9.1.0011 to before 9.2.0137, Vim's NFA regex compiler, when encountering a collection containing a combining character as the endpoint of a character range (e.g. [0-0\u05bb]), incorrectly emits the composing bytes of that character as separate NFA states. This corrupts the NFA postfix stack, resulting in NFA_START_COLL having a NULL out1 pointer. When nfa_max_width() subsequently traverses the compiled NFA to estimate match width for the look-behind assertion, it dereferences state->out1->out without a NULL check, causing a segmentation fault. This vulnerability is fixed in 9.2.0137.

## Affected

- `vim >= 9.1.0011, < 9.2.0137`

## Remediation

Upgrade past the affected range:

- `vim 9.2.0137`
