Release date:
2026-05-02 00:01:20 UTC
Description:
- CVE-2022-2182: in do_one_cmd(), after ";" sets curwin->w_cursor.lnum
to ea.line2, call check_cursor() instead of check_cursor_lnum() so
the column is validated too, and fall back to check_cursor_col()
when ea.line2 is zero, preventing read past end-of-line on ":0;'{".
- CVE-2022-2206: in check_shellsize(), clamp cmdline_row and msg_row
to Rows - 1 after limit_screen_size() so a shrinking terminal
cannot leave those values referencing freed screen rows.
- CVE-2022-2257: in str2special(), when the byte is single-byte set
*sp = str + (*str == NUL ? 0 : 1) so the caller cannot walk past
the terminating NUL when a menu item ends in a modifier-only key.
- CVE-2022-2849: in latin_ptr2len()/dbcs_ptr2len(), return 0 when
*p == NUL so loops that advance by mb_ptr2len() cannot walk past
the NUL terminator (matches the contract documented in
src/globals.h).
- CVE-2022-3352: in spell_load_lang(), snapshot curbuf before the
SpellFileMissing autocommand and break out of the retry loop if
the autocommand deleted/replaced curbuf, preventing a
use-after-free on the cached "lang"/"curbuf" pointer. Uses
sl.sl_lang (stack copy) for the apply_autocmds pattern to survive
buffer deletion.
- CVE-2023-2609: in get_register() (ops.c), treat y_current->y_array
== NULL the same as y_size == 0 and set reg->y_array to NULL, so
an invalid/NULL register contents cannot be walked as a valid
string vector.
- CVE-2021-3778: in find_match_text() (regexp_nfa.c), advance by
utf_ptr2len(regline + col + len2) under enc_utf8 instead of
MB_CHAR2LEN(c2), so an invalid UTF-8 byte cannot cause a read
past the end of the line.
- CVE-2022-1616: in append_command() (ex_docmd.c), change the
buffer-space check to "d - IObuff + 5 < IOSIZE" and skip copying
a multibyte character whose length would overrun IObuff, so an
invalid command with composing chars cannot overflow the error-
message buffer.
- CVE-2022-1897: in undo_time() (undo.c), call text_locked() /
text_locked_msg() and return early, so :undo / :earlier / g-
cannot run while the text is locked (e.g. inside a :substitute
callback) and free a buffer the caller is still walking.
- CVE-2022-2125: in get_lisp_indent() (misc1.c), after the
double-quoted-string skip loop break out of the outer scan loop
when *that is NUL so lisp indenting cannot walk past end-of-line
on an unterminated quote.
Updated packages:
-
vim-X11-7.4.629-8.0.1.el7_9.tuxcare.els9.x86_64.rpm
sha:edc680a5aaa3ea1482756c0b3485c3fcb207d0837aa7683af272b2f632dcece6
-
vim-common-7.4.629-8.0.1.el7_9.tuxcare.els9.x86_64.rpm
sha:4710d79c6af52f94300518f352fa02520e963c318af38ad96d06d04f65fb8716
-
vim-enhanced-7.4.629-8.0.1.el7_9.tuxcare.els9.x86_64.rpm
sha:657e1497de60c9280a19d31ed9956b3a93b538d65e2192d779c6a5c28be2e051
-
vim-filesystem-7.4.629-8.0.1.el7_9.tuxcare.els9.x86_64.rpm
sha:2e71a3a93e8fd8eeff724d88b2bef3b1b21a8b9104414d37c57a16057cc4915d
-
vim-minimal-7.4.629-8.0.1.el7_9.tuxcare.els9.x86_64.rpm
sha:5aeebde87fed214675d6d086a3c8f42861691e703b1bab65bb762c47c6a3d3f2
Notes:
This page is generated automatically and has not been checked for errors. For clarification or
corrections please contact the
CloudLinux Packaging Team.