Skip to content
OpenAdvisories
Medium · 5.3 CVE-2026-32249 EUVD-2026-11690

NFA regex engine NULL pointer dereference affects Vim < 9.2.0137

Published Mar 12, 2026 · Updated Mar 13, 2026 · Assigned by GitHub_M

Description

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 products

VendorProductAffectedFixed
vim vim >= 9.1.0011, < 9.2.0137 —

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Debian 14 vim 2:9.2.0218-1 —
Debian 13 vim 2:9.1.1230-2+deb13u1 —
ReleasePackageFixed inAdvisory
Ubuntu 25.10 vim 2:9.1.0967-1ubuntu6.2 —
Ubuntu 24.04 LTS vim 2:9.1.0016-1ubuntu7.11 —
ReleasePackageFixed inAdvisory
Alpine v3.24 vim 9.2.0140-r0 —
Alpine v3.23 vim 9.2.0140-r0 —

Amazon Linux

ReleasePackageFixed inAdvisory
Amazon Linux 2023 xxd +6 2:9.2.240-1.amzn2023.0.2 ALAS2023-2026-1584

Azure Linux

ReleasePackageFixed inAdvisory
Azure Linux 3 vim 9.2.0240-1 —

Advisories 2

References