PT-2026-48722 · Vim+3 · Vim+3
CVSS v3.1
8.2
High
| Vector | AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:H |
Name of the Vulnerable Software and Affected Versions
Vim versions prior to 9.2.0565
Description
The
update snapshot() function in src/terminal.c copies the visible terminal screen into the scrollback buffer during a snapshot. The process involves iterating through the chars[] array of each screen cell without an upper bound, relying solely on a NUL terminator to stop. When a cell fills all VTERM MAX CHARS PER CELL (6) slots—consisting of a base character and five combining marks—the bundled libvterm returns the array without a terminating NUL. This causes the loop to read past the fixed six-element array and append out-of-bounds values to a buffer reserved for only six characters. A program rendering output inside a :terminal window can trigger this behavior using a short byte sequence, resulting in a crash.Recommendations
Update to version 9.2.0565.
Exploit
Fix
Out of bounds Read
Found an issue in the description? Have something to add? Feel free to write us 👾
Weakness Enumeration
Related Identifiers
Affected Products
Linuxmint
Ubuntu
Vim
Libvterm