[CLSA-2026:1777558504] vim: Fix of 10 CVEs
Type:
security
Severity:
Important
Release date:
2026-05-05 21:11:17 UTC
Description:
- CVE-2021-3928: in suggest_trie_walk() only credit a non-word-char boundary with SCORE_NONWORD when preword is non-empty, so spell suggestions do not read uninitialized memory behind preword. - CVE-2021-3974: in nfa_regmatch() NFA_MARK / NFA_MARK_GT / NFA_MARK_LT, save reginput - regline and re-fetch regline via reg_getline() after getmark_buf() so use-after-free cannot occur when getmark_buf flushes the current line. - CVE-2022-0368: call check_pos(curbuf, &VIsual) at the end of u_undo_end() when Visual mode is active, so an undo that shortens the buffer cannot leave VIsual pointing past end-of-line / end- of-buffer. Adds a check_pos() helper in misc2.c. - CVE-2022-0696: in win_new_tabpage() and goto_tabpage_tp(), refuse to switch/create a tabpage while cmdwin_type != 0, emitting e_cmdwin instead of crashing on cmdline-window re-entry. - CVE-2022-1629: in find_next_quote(), after advancing past an escape character return -1 if the next byte is NUL so a trailing backslash cannot be read past end-of-line. - CVE-2022-1735: call new check_visual_pos() helper from changed_common() (misc1.c) and stop_insert() (edit.c) whenever Visual mode is active so a change that shrinks the buffer cannot leave VIsual pointing past end-of-line / end-of-buffer. - CVE-2022-1771: cap getcmdline() recursion at 50 via a static depth counter, emitting E169 "Command too recursive" on overflow to prevent crash from self-recursive cmdline input (e.g. the "=@" register loop). - CVE-2022-1898: in nv_brackets(), copy the identifier under the cursor with vim_strnsave() before calling find_pattern_in_path() for "]d"/"[d", so that a match in a modified/freed line cannot cause a use-after-free on ptr. - CVE-2022-1968: add get_line_and_copy() helper in search.c and use it instead of ml_get() in find_pattern_in_path(), so the regexp cannot leave line pointing into freed buffer memory when a mark invalidates the current line. - CVE-2022-2124: in current_quote() (search.c), break out of the selection-scan loop when line[i] is NUL so a changed line does not cause a read past end-of-line while iterating up to col_end.
Updated packages:
  • vim-X11-7.4.629-8.0.1.el7_9.tuxcare.els8.x86_64.rpm
    sha:23aefbeba4e8e4b63699edf04d0165ba8f042105080df9ecde476b45a4e7b51c
  • vim-common-7.4.629-8.0.1.el7_9.tuxcare.els8.x86_64.rpm
    sha:c87fc488582c4cbed345350662ed5a3336fce97ff02c806cba8f056bc026cbc0
  • vim-enhanced-7.4.629-8.0.1.el7_9.tuxcare.els8.x86_64.rpm
    sha:c7249f21a2f50450e8588fc1a6d948500751ca45ba56068d43ad2818ddb3b65e
  • vim-filesystem-7.4.629-8.0.1.el7_9.tuxcare.els8.x86_64.rpm
    sha:30f6df3e1222b0daafc332e9ffb7ee0d77ff2414b89b9901f6ce0c78f399dc41
  • vim-minimal-7.4.629-8.0.1.el7_9.tuxcare.els8.x86_64.rpm
    sha:5ebc7b0d67c4dbe27d86cd9897c4a8a2946bc5dfdc3ed5b328b954e35cedd6ff
Notes:
This page is generated automatically and has not been checked for errors. For clarification or corrections please contact the CloudLinux Packaging Team.