Follow @Openwall on Twitter for new release announcements and other news
[<prev] [day] [month] [year] [list]
Message-ID: <aY938TY131se7mSQ@256bit.org>
Date: Fri, 13 Feb 2026 20:13:53 +0100
From: Christian Brabandt <cb@...bit.org>
To: oss-security@...ts.openwall.com
Subject: [vim-security] NetBeans specialKeys Stack Buffer Overflow with Vim
 <9.1.2148

NetBeans specialKeys Stack Buffer Overflow with Vim <9.1.2148
=============================================================
Date: 13.02.2026
Severity: Medium
CVE: CVE-2026-26269
CWE: Stack-based Buffer Overflow (CWE-121)

### Summary
A stack buffer overflow vulnerability exists in Vim's NetBeans integration
when processing the `specialKeys` command, affecting Vim builds that enable
and use the NetBeans feature.

Stack buffer overflow exists in `special_keys()` (in `src/netbeans.c`).
The `while (*tok)` loop writes two bytes per iteration into a 64-byte stack
buffer (keybuf) with no bounds check. A malicious NetBeans server can overflow
keybuf with a single specialKeys command.

### Description
The vulnerability is located in the `special_keys()` function in
`src/netbeans.c`.

Vim allocates a fixed-size stack buffer of 64 bytes (`KEYBUFLEN`) and
writes attacker-controlled characters into it without performing any
bounds checking.

The vulnerable code path is triggered when:
1. Vim is started with NetBeans integration enabled (e.g. `-nb` option)
2. Vim connects to a NetBeans server
3. The server sends a crafted `specialKeys` command containing a long
   token string
4. The unchecked writes overflow the stack buffer

This issue was confirmed using AddressSanitizer.

### Impact
This is a Stack-based Buffer Overflow (CWE-121). By sending a crafted
specialKeys command, a malicious or compromised NetBeans server can overwrite
the stack, leading to:

- Denial of Service: Immediate crashing of the Vim process.
- Arbitrary Code Execution: Potential hijacking of the control flow by
  overwriting the return address on the stack.

Attack Vector: While the NetBeans interface is legacy, it communicates over
unencrypted TCP. An attacker could perform a Man-in-the-Middle (MITM) attack to
inject the malicious payload into an existing NetBeans session.

The vulnerability requires user interaction to connect to a NetBeans server.
The severity is rated **medium** due to potential for code execution.

### Acknowledgements
The Vim project would like to thank Haein Lee (github handle @haaeein)
for reporting this issue and providing detailed proof-of-concept code
demonstrating the vulnerability.

### References
The issue has been fixed as of Vim patch [v9.1.2148](https://github.com/vim/vim/releases/tag/v9.1.2148).

[Commit](https://github.com/vim/vim/commit/c5f312aad8e4179e437f81ad39a860cd0ef11970)
[Github Advisory](https://github.com/vim/vim/security/advisories/GHSA-9w5c-hwr9-hc68)


Thanks,
Christian
-- 
Wenn Männer sich mit ihrem Kopf beschäftigen, nennt man das 'denken'.
Wenn Frauen das gleiche tun, heißt das 'frisieren'.
		-- Anna Magnani

Powered by blists - more mailing lists

Please check out the Open Source Software Security Wiki, which is counterpart to this mailing list.

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.