Описание
Security update for vim
This update for vim fixes the following issues:
This update for vim fixes the following issues:
Security issues fixed:
- CVE-2026-59856: Arbitrary Code Execution via PHP Omni-Completion (bsc#1271194).
- CVE-2026-59857: Out-of-bounds Write in SAL Soundfolding (bsc#1271195).
- CVE-2026-59858: Arbitrary Code Execution via C Omni-Completion (bsc#1271193).
Non security issue fixed:
- Guard suse.vimrc against re-entry to prevent an infinite sourcing loop (bsc#1271684).
- allow 'wrap' and 'linebreak' to be set from a modeline (bsc#1268162).
Changes for vim:
- Updated to version 9.2.0780:
- filetype detect missing from completion (9.2.0726).
- popup images not rendered correctly when unfocused (9.2.0727).
- filetype: supertux info pattern is relative to current dir (9.2.0728).
- % skips parens on continued quoted lines (9.2.0729).
- GTK4 GUI tabline is not updated (9.2.0730).
- GTK4 GUI scrollbar size not updated when restoring a session (9.2.0731).
- session: terminal restored using absolute columns/rows (9.2.0732).
- GTK3: GUI slow on X11 since dropping the alpha channel (9.2.0733).
- function pointer passed to STRNCMP() instead of a length (9.2.0734).
- tests: comment test can be improved (9.2.0737).
- completion: 'autocompletedelay' blocks the main loop and drops autocommands (9.2.0739).
- GTK4: scrollbar wrongly displayed (9.2.0740).
- complete_check() does not return TRUE for mapped input (9.2.0741).
- filetype: SSH keys and related filetypes not recognized (9.2.0742).
- string macros silently accept a size of the wrong type (9.2.0743).
- popup_atcursor() closes immediately on white space (9.2.0744).
- cscope: connection leak when growing the array fails (9.2.0747).
- 'autocompletedelay' interferes with CTRL-G U (9.2.0748).
- 'autocompletedelay' interferes with i_CTRL-K (9.2.0749).
- completion: 'autocompletedelay' deferral leaks state (9.2.0750).
- GTK3 GUI is slow under Wayland (9.2.0751).
- GTK4: drag-and-drop does not support HTML (9.2.0752).
- GTK GUI deferred redraw skipped on 'lazyredraw' (9.2.0753).
- repeated completion length lookup in search_for_exact_line (9.2.0754).
- 'autocomplete' behaves inconsistently when recording (9.2.0755).
- session with multiple tabpages sets 'winminheight' to 0 (9.2.0756).
- pum: no opacity when background not set for Popup menu group (9.2.0758).
- some code for 'autocompletedelay' is no longer needed (9.2.0759).
- compiler warning for using potentially uninitialized var (9.2.0760).
- runtime(netrw): Unix: unable to open '' file (9.2.0761).
- duplicated sub-option name check in :set completion (9.2.0762).
- compiler warning about unused function (9.2.0764).
- popup: opacity popup over a terminal is not cleared when moved (9.2.0765).
- quick_tab entries for empty letters point to the wrong index (9.2.0766).
- legacy/vim9cmd modifiers do not set script version for options values (9.2.0767).
- legacy/vim9cmd modifiers are not exclusive (9.2.0768).
- conversion to utf-16be using iconv is inconsistent (9.2.0769).
- dict_add_dict() has inconsistent ownership on failure (9.2.0770).
- dict_add_list() has inconsistent ownership on failure (9.2.0771).
- Vim9: null dereference inside alloc_type() (9.2.0772).
- memory leak in evalfunc.c on alloc failure (9.2.0773).
- memory leak in f_getscriptinfo() on alloc failure (9.2.0774).
- memory leak in highlight_get_info() on alloc failure (9.2.0775).
- memory leak in sign_getlist() on alloc failure (9.2.0776).
- memory leak in add_defer() on alloc failure (9.2.0777).
- memory leak in compile_dict() on alloc failure (9.2.0778).
- memory leak in type_name_func() on alloc failure (9.2.0779).
- memory leak in evalvars.c on alloc failure (9.2.0780).
- Updated to version 9.2.0725:
- GTK: preedit font size is wrong for fractional point sizes (9.2.0532).
- '[ mark moved to end of inserted text after CTRL-R CTRL-P paste (9.2.0533).
- GTK UI does not support fullscreen mode (9.2.0534).
- GTK4: mouse popup menu does not show up at mouse pointer (9.2.0537).
- Cannot keep leading whitespace in %{} statusline expr (9.2.0538).
- filetype: too many Bitbake include files are recognized (9.2.0539).
- Vim9: endclass/endenum/endinterface can give errors (9.2.0541).
- Vim9: wrong error when redeclaring a typed variable (9.2.0543).
- GTK4: window blank after a resize or drag (9.2.0544).
- popup: blending uses hardcoded fallback colors (9.2.0545).
- configure: GTK4 build requires GTK >= 4.10 (9.2.0546).
- '%v' in 'errorformat' is affected by 'tabstop' (9.2.0547).
- GTK4: terminal and pty job output is not processed (9.2.0548).
- Cursor wrong after autoindent strip is skipped (9.2.0549).
- GTK4: 'mousehide' unhides cursor when switching tabs (9.2.0550).
- filetype: Tolk files are not recognized (9.2.0551).
- GTK4: F10 does nothing when the menubar is hidden (9.2.0552).
- runtime(netrw): netrw rejects hostnames containing _ (9.2.0553).
- GTK4: memory leak in free_menu() (9.2.0554).
- too many strlen() in ex_substitute() (9.2.0555).
- GTK4: scrollbars not shown and do not respond to clicks (9.2.0556).
- filetype: Kawasaki Robots files are not recognized (9.2.0557).
- filetype: Popcap Reanimation files are not recognized (9.2.0558).
- filetype: Kaitai struct files are not recogonized (9.2.0559).
- filetype: busybox shebang lines are not recognized (9.2.0560).
- [security]: possible code execution with python3complete (9.2.0561).
- filetype: SGF files are not recognized (9.2.0562).
- GTK3/Wayland: crash with right mouse-button in tabline (9.2.0563).
- GTK4: tabline does not respond to mouse clicks (9.2.0564).
- [security]: out-of-bounds read in update_snapshot() (9.2.0565).
- f duplicates window if do_ecmd() is aborted (9.2.0566).
- dict function name allocation failure not handled (9.2.0567).
- pythoncomplete: g:pythoncomplete_allow_import had no effect (9.2.0568).
- out-of-bounds access in libvterm CSI 8 t resize (9.2.0569).
- GTK4: mouse wheel scrolling does not work correctly (9.2.0570).
- Vim9: memory leak in compile_nested_function() on failure (9.2.0571).
- lines disappear with wrapping virtual text after a double-width char (9.2.0572).
- Vim9: missing EX_WHOLE on some block keywords (9.2.0573).
- popup_create() not blocked in secure/sandbox (9.2.0576).
- GTK4: window resizing issues (9.2.0577).
- GTK4: :unmenu does not remove entries from the menubar (9.2.0578).
- :mksession, :mkview and :mkvimrc emit legacy Vim script (9.2.0579).
- xxd: binary output is not colored with -R (9.2.0580).
- After maximizing and deleting the quickfix buffer, window height is wrong (9.2.0581).
- GTK4: compile error when XFONTSET is defined (9.2.0582).
- completion: indent not ignored for fuzzy line completion (9.2.0583).
- GTK4: missing UI features (9.2.0584).
- line number wrong after undoing a deletion in quickfix buffer (9.2.0585).
- Crash with TextPut autocmd when pasting in terminal buffer (9.2.0586).
- GTK4: left scrollbar overlaps drawarea (9.2.0587).
- GTK4: drawing area loses focus after closing a menubar popover (9.2.0588).
- filetype: xinitrc files are not recognized (9.2.0589).
- GTK4: drawing area loses focus shape on popup menu open (9.2.0590).
- 'scrolljump' ignored when scrolling up (9.2.0591).
- Error when restoring session with terminal window (9.2.0592).
- :wqall ignores term_setkill() on running terminal buffers (9.2.0593).
- Use-after-free with ':wqall' and a running terminal job (9.2.0594).
- MS-Windows: Wrong buffer size calculation for gvimext (9.2.0595).
- cmdline completion popup cannot be scrolled with the mouse (9.2.0596).
- [security]: possible code execution with python complete (9.2.0597).
- popup: title set with popup_setoptions() is not shown (9.2.0599).
- clientserver method needs to be given as argument (9.2.0600).
- matchfuzzypos() returns garbage positions for long candidates (9.2.0601).
- popup: No opacity when background not set for Popup group (9.2.0602).
- possible heap-buffer-overflow when resizing the GUI (9.2.0603).
- GTK4: does not support all clipboard formats (9.2.0606).
- GTK4: inputdialog() does not work as expected (9.2.0607).
- popup_setoptions()/ch_setoptions() does not check secure mode (9.2.0608).
- completion info popup cannot be scrolled with the keyboard (9.2.0609).
- cindent: closing brace in a comment affects the next line's indent (9.2.0610).
- MS-Windows: evim.exe not working with VIMDLL (9.2.0611).
- Cannot render images in popup windows (9.2.0612).
- opacity popup leaves stale cells (9.2.0614).
- sixel encoder drops pixels on the right edge of shapes (9.2.0615).
- GTK4: use-after-free on clipboard read timeout (9.2.0616).
- GvimExt: does not support different runtime dirs (9.2.0617).
- use-after-free in popup_getoptions() on dict_add() failure (9.2.0618).
- integer overflow in popup image size validation (9.2.0619).
- runtime(netrw): fix 2match pattern rebuild (9.2.0620).
- 'autoindent' not stripped with virtualedit=onemore (9.2.0621).
- str2blob() does not work with wide UTF-16 encoding (9.2.0622).
- possible integer overflow in spellfile tree bounds check (9.2.0623).
- C-N/C-P cannot be mapped in complete() completion (9.2.0624).
- GTK4: Link error when Wayland is disabled (9.2.0625).
- Vim9: illegal characters allowed in dict key names with dot notation (9.2.0626).
- :vim9cmd source handles all scripts as Vim9 script (9.2.0627).
- popup image: wrong overlap layering, kitty laggy (9.2.0628).
- 0x80 and 0x9b byte not unescaped when check for valid abbr (9.2.0629).
- popup images: kitty images output in GUI mode (9.2.0630).
- DECRQM and SGR Mouse not supported in foot terminal (9.2.0631).
- GTK4: no support for hardware-accelerated rendering (9.2.0632).
- MS-Windows: No support for kitty graphics support in terminal (9.2.0633).
- GTK4: no minimum resize limit (9.2.0634).
- checking the syntax contains/cluster list is slow (9.2.0635).
- popup image: stale pixels under RGBA animation frames (9.2.0636).
- sixel: anti-aliased RGBA images render with visible outline (9.2.0637).
- cannot return matches containing spaces from a custom completion (9.2.0638).
- gq with 'formatprg' fails on an empty buffer (9.2.0639).
- the '%' command jumps to parens and braces inside comments (9.2.0640).
- GTK4: crash in gui_mch_menu_hidden() (9.2.0641).
- statusline: buffer overflow with item groups (9.2.0642).
- Missing Image ifdefs (9.2.0643).
- popup image: duplicate sync-output code (9.2.0644).
- Composing chars no longer accepted in end-id abbr (9.2.0645).
- GTK3 GUI slow on HiDPI/4K with software rendering (9.2.0646).
- matchfuzzypos() false exact match for long equal-length candidates (9.2.0647).
- MS-Windows: Compile warnings (9.2.0648).
- filetype: tf files sometimes incorrectly recognized (9.2.0649).
- Vim aborts at startup when built with the example -O2 CFLAGS (9.2.0650).
- completion: 'smartcase' doesn't work with 'longest' (9.2.0651).
- popup: stale kitty image after clipwindow scrolls out of view (9.2.0652).
- [security]: out-of-bounds write in tree_count_words() (9.2.0653).
- GTK4: using uninitialised colors in gui_mch_init() (9.2.0654).
- GTK4: missing NULL checks in vim_form_measure() (9.2.0655).
- completion: using wrong tolower() in smartcase filtering (9.2.0656).
- GTK4: missing menu when right-clicking in tabline (9.2.0657).
- xxd: signed integer overflow in huntype() (9.2.0658).
- GTK4: no balloon support in GUI (9.2.0659).
- Dragging the scrollbar does not trigger WinScrolled (9.2.0660).
- unintended wipe of Vim's temp dir, causes errors (9.2.0661).
- [security] Stack out-of-bounds write in dump_prefixes() (9.2.0662).
- [security]: runtime(netrw): code injection in local file deletion (9.2.0663).
- GTK4: GTK critical error on exit printed (9.2.0665).
- Terminal-Normal mode does not color empty lines with a background color (9.2.0666).
- patch 9.2.0590 was wrong (9.2.0667).
- GTK4: minimum horizontal size is too small (9.2.0668).
- GTK4: toolbar can be improved (9.2.0669).
- [security]: Out-of-bounds read with text properties (9.2.0670).
- [security]: possible out-of-bounds read with sodium encrypted files (9.2.0671).
- corrupted text property causes internal error (9.2.0672).
- configure: clears dynamic ruby linker flags (9.2.0674).
- MS-Windows: cannot switch to a buffer with '%' in its name (9.2.0676).
- Cannot clear the alternate file register # (9.2.0677).
- [security]: potential powershell code execution in zip.vim (9.2.0678).
- [security]: Out-of-bounds read with text property virtual text (9.2.0679).
- keytrans() doesn't replace '|' and '' (9.2.0680).
- configure: -lruby added even for a dynamic ruby build (9.2.0681).
- Wrong dot-repeat when calling complete() while filtering completion (9.2.0682).
- filetype completion mishandles finished sub options (9.2.0683).
- :reg # does not display the value of the '#' register (9.2.0684).
- clipboard.c does not get the Wayland CFLAGS on GTK2 (9.2.0685).
- style: strcmp usage is inconsistent (9.2.0686).
- popup_image_composites_frames() has improper if block scope (9.2.0687).
- Terminal-Normal mode does not show the Visual selection on a colored empty line (9.2.0688).
- the '%' command is slow on a long line with many slashes (9.2.0689).
- Solaris: swap file names are too long (9.2.0690).
- Solaris: Test_terminal_composing_unicode() fails (9.2.0691).
- GTK2: build failure, popup images not drawn correctly (9.2.0692).
- Solaris: some tests faiures due to Solaris peculiarities (9.2.0694).
- Solaris: test_delete_temp_dir() fails because of missing flock (9.2.0695).
- GTK4: A few issues with toolbar support (9.2.0696).
- possible overflow when parsing CSI keys (9.2.0697).
- [security]: Out-of-bounds write with soundfold() (9.2.0698).
- [security]: possible code execution with python complete (9.2.0699).
- configure: -lrt requirement for timer_create not detected (9.2.0700).
- :windo and :tabdo create an extra window with 'winfixbuf' (9.2.0702).
- session file does not store relative Vim9 autoload imports (9.2.0703).
- GTK4: not handling mouse events (9.2.0704).
- :delete # silently fails to update '# and clobbers '0 (9.2.0705).
- completion: popup misplaced when text before it is concealed (9.2.0707).
- Leaks in do_autocmd in error case (9.2.0708).
- GTK4: a few minor issues (9.2.0709).
- GTK4 GUI resize handling can be improved (9.2.0710).
- leak in ins_compl_infercase_gettext() in error case (9.2.0711).
- GTK4: dialogs not handling mnemonics correctly (9.2.0712).
- completion: ruler not updated correctly when the popup menu is visible (9.2.0713).
- Coverity warns for NULL deref (9.2.0714).
- Coverity warns about copy/paste error in hl_blend_attr() (9.2.0715).
- filetype: not all supertux files are recognized (9.2.0716).
- :syn sync without an argument also lists syntax cluster (9.2.0718).
- GTK4: default menu is lacking (9.2.0719).
- GTK4: no support for browsefilter (9.2.0720).
- serverlist() returns strings separated by \n (9.2.0721).
- GTK4: find/replace dialog can be improved (9.2.0722).
- term_start() does not support 'noclose' (9.2.0723).
- use-after-free when freeing exit_cb job on exit (9.2.0724).
Список пакетов
Container suse/sle-micro/5.5/toolbox:latest
Container suse/sle-micro/5.5:latest
SUSE Linux Enterprise High Performance Computing 15 SP5-ESPOS
SUSE Linux Enterprise High Performance Computing 15 SP5-LTSS
SUSE Linux Enterprise Micro 5.5
SUSE Linux Enterprise Module for Basesystem 15 SP7
SUSE Linux Enterprise Module for Desktop Applications 15 SP7
SUSE Linux Enterprise Server 15 SP5-LTSS
SUSE Linux Enterprise Server 15 SP6-LTSS
SUSE Linux Enterprise Server for SAP Applications 15 SP5
SUSE Linux Enterprise Server for SAP Applications 15 SP6
Ссылки
- Link for SUSE-SU-2026:3458-1
- E-Mail link for SUSE-SU-2026:3458-1
- SUSE Security Ratings
- SUSE Bug 1268162
- SUSE Bug 1271193
- SUSE Bug 1271194
- SUSE Bug 1271195
- SUSE Bug 1271684
- SUSE CVE CVE-2026-59856 page
- SUSE CVE CVE-2026-59857 page
- SUSE CVE CVE-2026-59858 page
Описание
Vim is an open source, command line text editor. Prior to 9.2.0736, the PHP omni-completion script in runtime/autoload/phpcomplete.vim interpolates a class or trait name, taken from the contents of the edited buffer, into a search() pattern that is run via win_execute() without escaping. A name containing a single quote can terminate the search() string argument early, and because the bar is honored as an Ex command separator, the remainder of the name is run as Ex commands; via the :! command this allows arbitrary operating-system command execution when a victim opens a crafted PHP file and invokes omni-completion. This issue is fixed in version 9.2.0736.
Затронутые продукты
Ссылки
- CVE-2026-59856
- SUSE Bug 1271194
Описание
Vim is an open source, command line text editor. Prior to 9.2.0725, the single-byte branch of spell_soundfold_sal() in src/spell.c translates a word through a spell file's SAL sound-folding rules into a caller-owned result buffer, but its result writes are guarded with reslen < MAXWLEN, allowing reslen to reach MAXWLEN before res[reslen] = NUL writes one byte past the end of the MAXWLEN-element stack buffer. A boundary-length word passed to soundfold(), or reached via sound-based spell suggestion while a SAL-based spell language is active under a non-multibyte 8-bit encoding, can corrupt the eval_soundfold() stack frame and crash the editor. This issue is fixed in version 9.2.0725.
Затронутые продукты
Ссылки
- CVE-2026-59857
- SUSE Bug 1271195
Описание
Vim is an open source, command line text editor. Prior to 9.2.0735, the C omni-completion script in runtime/autoload/ccomplete.vim interpolates the typeref: or typename: extension field of a tags entry, without escaping, into a :vimgrep pattern that is run through :execute. Because :vimgrep honors the bar as a command separator, a crafted tag field can close the search pattern and append an arbitrary Ex command; opening a hostile .c file whose project tags file contains such an entry and invoking C omni-completion runs that command as the editing user. This issue is fixed in version 9.2.0735.
Затронутые продукты
Ссылки
- CVE-2026-59858
- SUSE Bug 1271193