Release date:
2026-08-22 10:35:47 UTC
Description:
* SECURITY UPDATE: command injection in the tar plugin: tar#Vimuntar()
escaped the tarball name with shellescape() without the special
argument before running gunzip/gzip through :!, so characters that Vim
expands in a :! command line (such as % and #) survived in the name
and let a crafted archive name run arbitrary shell commands.
- debian/patches/CVE-2026-46483.patch: use the shellescape(name, 1)
form for both :! invocations in runtime/autoload/tar.vim; matches
upstream patch 9.2.0479.
- CVE-2026-46483
* SECURITY UPDATE: code injection via netrw directory history:
s:NetrwBookHistSave() serialised each history entry into
~/.vim/.netrwhist by wrapping the value in single quotes with string
concatenation, so a directory name containing a single quote closed
the literal and injected Vimscript that ran when the history file was
sourced on the next netrw start.
- debian/patches/CVE-2026-47162.patch: encode the value with string()
in runtime/autoload/netrw.vim; matches upstream patch 9.2.0495.
- CVE-2026-47162
* SECURITY UPDATE: code execution through Python omni-completion:
pythoncomplete and python3complete rebuilt the buffer's Python code
and passed it to exec(), including the import and from statements
harvested from the buffer, so invoking omni-completion in a hostile
Python file executed arbitrary module-level code.
- debian/patches/CVE-2026-52858.patch: skip import/from statements
unless g:pythoncomplete_allow_import is set, in both
runtime/autoload/pythoncomplete.vim and python3complete.vim;
matches upstream patches 9.2.0561 and 9.2.0568, the latter being
required for the opt-in to take effect at all.
- CVE-2026-52858
* SECURITY UPDATE: out-of-bounds access when a terminal buffer is
snapshotted: the per-cell loop in move_terminal_to_buffer() walked
cell.chars[] with no upper bound, and libvterm leaves that array
unterminated when a cell uses all VTERM_MAX_CHARS_PER_CELL slots (a
base character plus five combining marks), so it read past the array
and appended the out-of-bounds values to a buffer sized for far fewer
bytes.
- debian/patches/CVE-2026-52859.patch: bound the loop with
i < VTERM_MAX_CHARS_PER_CELL and size the buffer for six 6-byte
characters, in src/terminal.c; matches upstream patch 9.2.0565
together with its prerequisite 8.1.0611, without which the bounded
loop would still overrun the MB_MAXBYTES-sized buffer.
- CVE-2026-52859
* SECURITY UPDATE: code execution through Python omni-completion
definition headers: Scope.get_code() reproduced def and class headers
verbatim in the source handed to exec(), and Python evaluates
parameter default values, annotations and base-class expressions at
definition time, so crafted headers ran arbitrary code during
completion even with imports disabled.
- debian/patches/CVE-2026-52860.patch: strip default values and
annotations from parameters and accept only dotted names as base
classes, in both runtime/autoload/pythoncomplete.vim and
python3complete.vim; matches upstream patch 9.2.0597.
- CVE-2026-52860
* SECURITY UPDATE: out-of-bounds write reading a crafted spell file:
tree_count_words() and sug_filltree() descended the word trie without
bounding the depth, so a deeply nested trie wrote past the ends of
their MAXWLEN-sized arridx[], curi[] and wordcount[] arrays.
- debian/patches/CVE-2026-55693.patch: only descend while
depth < MAXWLEN - 1 in both trie walkers, in src/spellfile.c;
matches upstream patch 9.2.0653.
- CVE-2026-55693
* SECURITY UPDATE: code injection when netrw opens a remote file:
s:NetrwBrowse() passed bufname() unescaped into an :execute'd "b"
command, so a buffer name containing the Ex command separator ran
arbitrary Ex commands.
- debian/patches/CVE-2026-55895.patch: escape the name with
fnameescape() in runtime/autoload/netrw.vim; matches the applicable
hunk of upstream patch 9.2.0663.
- CVE-2026-55895
* SECURITY UPDATE: out-of-bounds write in SOFO soundfolding:
spell_soundfold_sofo() walked the input word without checking the
index into its MAXWLEN-sized result buffer, so a crafted spell file
with a long SOFO translation wrote past the end of it.
- debian/patches/CVE-2026-57455.patch: add the ri < MAXWLEN - 1 abort
condition to the translation loop, in src/spell.c; matches upstream
patch 9.2.0698.
- CVE-2026-57455
* SECURITY UPDATE: code execution via doc strings in Python
omni-completion: get_code() wrapped the doc string harvested from the
buffer in triple quotes, so a doc string containing a triple quote
closed the literal and the remainder was executed as code during
completion.
- debian/patches/CVE-2026-57456.patch: quote doc strings with repr()
at all three generation sites in both
runtime/autoload/pythoncomplete.vim and python3complete.vim;
matches upstream patch 9.2.0699.
- CVE-2026-57456
* SECURITY UPDATE: arbitrary Ex command execution during C
omni-completion: s:StructMembers() interpolated the typeref field of a
tags entry into a :vimgrep pattern run through :execute, so a crafted
tags file could close the pattern and append an Ex command that ran
when C omni-completion was invoked on a hostile source file.
- debian/patches/CVE-2026-59858.patch: escape the type field with
escape(typename, '/\') before building the pattern, in
runtime/autoload/ccomplete.vim; matches upstream patch 9.2.0735.
- CVE-2026-59858
* SECURITY UPDATE: the escaping above is not sufficient on its own: an
unclosed bracket in the typeref makes :vimgrep's pattern skipping
fail, after which a bar in the tag value is again treated as a command
separator and executed.
- debian/patches/CVE-2026-73073.patch: match the field literally with
\V ... \m instead of relying on escaping alone, in
runtime/autoload/ccomplete.vim; matches upstream patch 9.2.0845.
- CVE-2026-73073
Updated packages:
-
vim_8.0.1453-1ubuntu1.13+tuxcare.els2_amd64.deb
sha:f9f45c0301870c96cf5974a51768f57893730cdc
-
vim-athena_8.0.1453-1ubuntu1.13+tuxcare.els2_amd64.deb
sha:eac52aba97abcd1ce5c72e21f6c2f4d0d263f4ea
-
vim-common_8.0.1453-1ubuntu1.13+tuxcare.els2_all.deb
sha:1f49cca782628d72dd52c9184989f74d622ee628
-
vim-doc_8.0.1453-1ubuntu1.13+tuxcare.els2_all.deb
sha:b8597aedec1545a7d13fb115d9aebb8f2c2b19b6
-
vim-gnome_8.0.1453-1ubuntu1.13+tuxcare.els2_all.deb
sha:0bd2559a9b83d3358586d67fdb617b9449313522
-
vim-gtk_8.0.1453-1ubuntu1.13+tuxcare.els2_amd64.deb
sha:fe090351436bac8cc3f0fcab879ec58c9ea07cdb
-
vim-gtk3_8.0.1453-1ubuntu1.13+tuxcare.els2_amd64.deb
sha:02274fcd57f2405c514066c0c38e28800a7e7ac4
-
vim-gui-common_8.0.1453-1ubuntu1.13+tuxcare.els2_all.deb
sha:579c8640a164e944c8d60529856409b307c389ce
-
vim-nox_8.0.1453-1ubuntu1.13+tuxcare.els2_amd64.deb
sha:89ac9364d867916292478c978de2e9e59c9b11c8
-
vim-runtime_8.0.1453-1ubuntu1.13+tuxcare.els2_all.deb
sha:047837a996b514e6ceff4a1cd930aad1891ac727
-
vim-tiny_8.0.1453-1ubuntu1.13+tuxcare.els2_amd64.deb
sha:f645e4cf733ecb93165d6ea889a9cda482ade597
-
xxd_8.0.1453-1ubuntu1.13+tuxcare.els2_amd64.deb
sha:54b8c56e482112aeafba382a21292a33b699a0df
Notes:
This page is generated automatically and has not been checked for errors. For clarification or
corrections please contact the
CloudLinux Packaging Team.