| Release Date: | 2026-06-11 | |
| Impact: | Moderate | What is this? |
Vim is an open source, command line text editor. Prior to version 9.2.0565, the update_snapshot() function in src/terminal.c copies the visible terminal screen into the scrollback buffer when a snapshot is taken. For each screen cell it walks the cell's chars[] array with no upper bound, stopping only when it encounters a NUL terminator. When a cell legitimately fills all VTERM_MAX_CHARS_PER_CELL (6) slots -- a base character plus five combining marks -- the bundled libvterm returns the array without a terminating NUL, so the loop reads past the fixed six-element array and appends the out-of-bounds values to a buffer reserved for only six characters. A program whose output is rendered inside a :terminal window can trigger this with a short byte sequence and no Vim scripting, leading to a crash. This issue has been patched in version 9.2.0565.
See more information about CVE-2026-52859 from MITRE CVE dictionary and NIST NVD
NOTE: The following CVSS metrics and score provided are preliminary and subject to review.
| Base Score: | 5.0 |
| Vector String: | CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:U/C:N/I:N/A:H |
| Version: | 3.1 |
| Attack Vector: | Local |
| Attack Complexity: | Low |
| Privileges Required: | Low |
| User Interaction: | Required |
| Scope: | Unchanged |
| Confidentiality Impact: | None |
| Integrity Impact: | None |
| Availability Impact: | High |
| Platform | Errata | Release Date |
| Oracle Linux version 10 (vim) | ELSA-2026-66336-0 | 2026-09-10 |
| Oracle Linux version 8 (vim) | ELSA-2026-66348-0 | 2026-09-10 |
| Oracle Linux version 9 (vim) | ELSA-2026-66366-0 | 2026-09-10 |
This page is generated automatically and has not been checked for errors or omissions. For clarification or corrections: