{"id":"SUSE-SU-2026:23391-1","summary":"Security update for vim","details":"This update for vim fixes the following issues:\n\nUpdated to version 9.2.0957.\n\nSecurity issues fixed:\n\n- CVE-2026-73070: stack buffer overflow in the socket server can lead to denial of service (bsc#1275018).\n- CVE-2026-73071: use-after-free in JSON decoding can lead to process crash (bsc#1275017).\n- CVE-2026-73072: heap buffer overflow when loading a spell file can lead to crash or potential code execution\n  (bsc#1275016).\n- CVE-2026-73074: heap buffer overflow in text property handling can lead to a crash or potential code execution\n  (bsc#1275015).\n- CVE-2026-73075: out-of-bounds access in popup opacity handling can lead to a conditional memory write (bsc#1275014).\n- CVE-2026-73076: arbitrary command execution via the vimball record file (bsc#1275013).\n- CVE-2026-73077: arbitrary code execution due to insecure shell command handling (bsc#1275012).\n- CVE-2026-73078: arbitrary code execution via crafted netrw menu entries (bsc#1275011).\n\nOther updates and bugfixes:\n\n- Version 9.2.0957.\n  * tests: Test_fuzzy_completion_bufname_fullpath() creates unnecessary dir (9.2.0781).\n  * tests: missing cleanup in test_mksession.vim (9.2.0782).\n  * tests: personal spell files leak into later tests (9.2.0783).\n  * crash when borrowing statusline highlight in silent Ex mode (9.2.0784).\n  * WinResized not triggered when the whole Vim is resized (9.2.0785).\n  * filetype: containerfile is not recognized (9.2.0786).\n  * regexp: code 0x1ecb duplicated for equivalence class (9.2.0787).\n  * filetype: hip files are not recognized (9.2.0788).\n  * 'statuslineopt' status line too high after a window is minimized (9.2.0789).\n  * 'completeslash' breaks :find completion with 'findfunc' (9.2.0790).\n  * wincol() counts from right side for 'rightleft' (9.2.0791).\n  * runtime(netrw): explore without optional dir broken (9.2.0792).\n  * if session restored a tiny window, restore fails (9.2.0793).\n  * extend() and extendnew() don't handle NULL expr2 properly (9.2.0794).\n  * popup menu shadow is not cleared when the menu shrinks (9.2.0795).\n  * Visual block reselection wrong with 'virtualedit' (9.2.0796).\n  * memory leak in get_qfline_items() on alloc failure (9.2.0797).\n  * memory leak in compile_expr6() on alloc failure (9.2.0798).\n  * memory leak in compile_def_function_body() on alloc failure (9.2.0799).\n  * memory leak in call_func() on alloc failure (9.2.0800).\n  * memory leak in f_getreginfo() on alloc failure (9.2.0801).\n  * memory leak with list_append_dict/dict_add_list on alloc failure (9.2.0802).\n  * memory leak on alloc failure with taglist/gettagstack() (9.2.0803).\n  * wincol() is wrong for a double-wide character with 'rightleft' (9.2.0804).\n  * screenpos() \"curscol\" is wrong with 'rightleft' (9.2.0805).\n  * 'showcmd' may show internal command keys (9.2.0806).\n  * MS-Windows: ellipsis character is garbled (9.2.0807).\n  * getregionpos: double-free on alloc failure (9.2.0808).\n  * getframelayout() uses wrong function to free lists (9.2.0809).\n  * add_llist_tags() uses wrong function to free dict (9.2.0810).\n  * mksession writes terminal command unquoted (9.2.0811).\n  * :argdelete with pattern leads to wrong argidx() (9.2.0812).\n  * dict_add_func() may corrupt funcref count on failure (9.2.0813).\n  * Vim9: E1041 when reloading an autoload script with exported variables (9.2.0814).\n  * deeply nested regexp patterns may cause stack overflow (9.2.0815).\n  * GTK4: memory leak in gui_gtk_set_dnd_targets() (9.2.0816).\n  * crash when building a stacktrace during an autocommand (9.2.0817).\n  * tests: client-server test fails without X11 server (9.2.0818).\n  * MS-Windows: sixel image shown as raw text in the console (9.2.0819).\n  * GUI: hidden popup image is displayed and not erased (9.2.0820).\n  * filetype: msmtp system-wide rc file not detected (9.2.0821).\n  * GTK4: crash menu id is null in gui_mch_destroy_menu() (9.2.0822).\n  * tests: Test_clientserver_servlist_list may fail (9.2.0823).\n  * Makefile: make tags depends on configure (9.2.0824).\n  * regexp: submatch in a look-behind is empty with the NFA engine (9.2.0825).\n  * highlighting for broken terminals can be improved (9.2.0826).\n  * :startinsert enters Insert mode in a non-modifiable buffer (9.2.0827).\n  * GTK4: hardware rendering can be improved (9.2.0828).\n  * sessions do not preserve script version for expression options (9.2.0829).\n  * the completion menu is not used on terminals without colors (9.2.0830).\n  * diff highlighting hard to read with syntax enabled (9.2.0831).\n  * socketserver: remote commands can be processed in reverse order (9.2.0832).\n  * GTK4: menu mnemonics do not work properly (9.2.0833).\n  * cleared last search pattern is restored from viminfo (9.2.0834).\n  * features in version.c are not sorted (9.2.0835).\n  * filetype: .git-blame-ignore-revs file is not recognized (9.2.0836).\n  * using wrong colors in hl_blend_attr() (9.2.0837).\n  * searchcount() returns wrong cached maxcount (9.2.0838).\n  * [security]: arbitrary code execution via keyword lookup (9.2.0839).\n  * [security]: code injection in netrw via bookmarks (9.2.0840).\n  * [security]: heap overflow when adding \u003e 65535 text properties (9.2.0841).\n  * [security]: stack buffer overflow in socket server (9.2.0842).\n  * [security]: popup: opacity mask indexed out of bounds (9.2.0843).\n  * [security]: use-after-free on json decode error (9.2.0844).\n  * [security]: arbitrary Ex command execution during C omni-completion (9.2.0845).\n  * [security]: heap buffer overflow in set_sofo() (9.2.0846).\n  * [security]: vimball: code execution via .VimballRecord file (9.2.0847).\n  * tagfunc \"cmd\" with a generic Ex command corrupts the tag entry (9.2.0848).\n  * filetype: osquery config files are not recognized (9.2.0849).\n  * MS-Windows: commands from a client can be lost (9.2.0850).\n  * focus autocommands triggered inconsistently (9.2.0851).\n  * GTK: ligatures not correctly displayed (9.2.0852).\n  * popup: popup images do not support scaling (9.2.0853).\n  * memory leak when reading a spell file with SN_SAL and SN_SOFO (9.2.0854).\n  * 'showcmd' not redrawn with empty mapping triggered on timeout (9.2.0855).\n  * GTK4: undercurl rendering is inefficient (9.2.0856).\n  * popup: opacity popup over a terminal is not cleared when closed (9.2.0857).\n  * MS-Windows GUI: white flash when VimEnter is slow (9.2.0858).\n  * GTK2: link error (9.2.0859).\n  * filetype: xilinx design constraint files are not recognized (9.2.0860).\n  * GTK4: bleed region updates in jumps (9.2.0861).\n  * missing test change from v9.2.0857 (9.2.0862).\n  * MS-Windows GUI: window contents can be missing when VimEnter is slow (9.2.0863).\n  * using some dead code in Wayland feature (9.2.0864).\n  * GTK4: non-hardware accelerated UI is too slow (9.2.0865).\n  * MS-Windows: \":language messages\" only works once (9.2.0866).\n  * MS-Windows: messages are not in the display language (9.2.0867).\n  * GTK: window Manager hint prevents giving focus to dialog (9.2.0868).\n  * buf_copy_options() can lose the P_INSECURE flag (9.2.0869).\n  * filetype: marko files are not recognized (9.2.0870).\n  * screen line is lost when splitting a 'winfixheight' window (9.2.0871).\n  * popup with opacity does not use the font of the highlight group (9.2.0872).\n  * :redrawstatus does not update the ruler of the last window (9.2.0873).\n  * fold size is compared against 'foldminlines' of the wrong window (9.2.0874).\n  * GTK4: GUI does not support command-line arguments (9.2.0875).\n  * GTK4: compile error with disabled netbeans feat (9.2.0876).\n  * Vim9: crash when a closure assigns to a variable declared in a loop (9.2.0877).\n  * Vim9: cannot use a script variable of an enclosing block in a lambda (9.2.0878).\n  * popup: \"maxwidth\" is not respected when 'wrap' is off (9.2.0879).\n  * scroll: window scrolls when using the autocommand window (9.2.0880).\n  * 'smoothscroll' position is lost when the window height changes (9.2.0881).\n  * :bwipe crashes if WinLeave wipes all other buffers (9.2.0882).\n  * scroll: 'smoothscroll' position is lost when using \"|\" (9.2.0883).\n  * scroll: unreachable 'smoothscroll' code in cursor_correct() (9.2.0884).\n  * scroll: 'smoothscroll' position is lost when the window is squeezed (9.2.0885).\n  * :set completion works for an invalid sub-option name (9.2.0886).\n  * scroll: jump-scrolling when moving the cursor onto a wrapping line (9.2.0887).\n  * mapping: modifier is not recognized after a partial mapping (9.2.0888).\n  * VMS: spurious \"INVALID DECC FEATURE VALUE\" message at every startup (9.2.0889).\n  * test: test for patch v9.2.0888 can be clarified (9.2.0890).\n  * MS-Windows: filename-modifier \":8:t\" causes underflow (9.2.0891).\n  * highlight: wrong column highlighted with 'cursorcolumn' (9.2.0892).\n  * MS-Windows: \"*.vim\" also matches files with a longer extension (9.2.0893).\n  * filetype: ed script files not recognised (9.2.0894).\n  * test: Test_aucmd_win_scroll_multibyte() is flaky in the GUI (9.2.0895).\n  * scroll: 'smoothscroll' position is lost when splitting a window (9.2.0896).\n  * GTK3 X11 redraws are not coalesced (9.2.0897).\n  * printing support is lacking (9.2.0898).\n  * command output temporary files may collide (9.2.0899).\n  * FocusGained still triggered when closing dialog (9.2.0900).\n  * textprop: wrong cursor line with truncated virtual text (9.2.0901).\n  * Vim9: iterating over a tuple leaks memory (9.2.0902).\n  * Vim9: cannot use an exported function of an autoload import (9.2.0903).\n  * \"zb\" scrolls incorrectly with cursor just above fold (9.2.0904).\n  * MS-Windows: ghost cursor with ligatures (9.2.0905).\n  * slow transstr() with long strings (9.2.0906).\n  * popup: virtual text is not redrawn when a text property changes (9.2.0907).\n  * cannot use a {} block in a nested :autocmd (9.2.0908).\n  * insert completion is slow to collect many matches (9.2.0909).\n  * runtime(vim): update syntax, contain Ex commands (9.2.0910).\n  * makefiles do not build hardcopy_postscript.c (9.2.0911).\n  * hardcopy: prototypes are hand-written instead of generated (9.2.0912).\n  * statusline: cell below the vertical separator keeps the old highlight (9.2.0913).\n  * diff: undo after :diffget into an empty buffer leaves a line behind (9.2.0914).\n  * tests: two terminal tests in test_popupwin fail on FreeBSD (9.2.0915).\n  * configure: honor `--disable-hardcopy-pango` with GTK UI (9.2.0916).\n  * :quitall not allowed in the command-line window (9.2.0917).\n  * screen: fill char with a zero low byte is stored as a NUL cell (9.2.0918).\n  * screen: the wrong array is copied into ScreenCols on a resize (9.2.0919).\n  * filetype: json-ld files are not recognized (9.2.0920).\n  * test: terminal tests fail on FreeBSD (9.2.0921).\n  * Wayland: modeless selection not redrawn (9.2.0922).\n  * tabpage: closing a tab page loses the alternate tab page (9.2.0923).\n  * tests: Test_termwinscroll() fails on FreeBSD (9.2.0924).\n  * crash when getcompletiontype() gets a NULL string (9.2.0925).\n  * filetype: business Central files are not recognized (9.2.0926).\n  * curswant not set on 8g8 (9.2.0927).\n  * MinGW: tests hang when Vim is built with coverage enabled (9.2.0928).\n  * incorrect completion for 'pumopt' and 'pumborder' (9.2.0929).\n  * floating point exception when displaying pum (9.2.0930).\n  * the GTK4 GUI is still experimental and untested by CI (9.2.0931).\n  * NFA engine fallback can double free the compiled program (9.2.0932).\n  * u_read_undo() leaks the file name when the undo file owner differs (9.2.0933).\n  * filetype: hlsl files are not recognized (9.2.0934).\n  * reading an undo file is slow with many undo headers (9.2.0935).\n  * stringifying a list or dict can free the item being iterated (9.2.0936).\n  * sort() with a numeric option converts each item on every comparison (9.2.0937).\n  * cursorbind: cursor in the other window is not updated after undo (9.2.0938).\n  * mbyte: wrong cell count for an overlong UTF-8 sequence (9.2.0939).\n  * GTK4: columns are lost when a scrollbar appears (9.2.0940).\n  * tests: clipboard tests fail in the GUI when the terminal has no clipboard (9.2.0941).\n  * test: test_mksession_winpos() fails on GTK4 UI (9.2.0942).\n  * test: test_hardcopy fails on GTK4 UI (9.2.0943).\n  * test: tests fail when checking for GTK4 feature (9.2.0944).\n  * sort() with a numeric option can be improved (9.2.0945).\n  * GTK2/3: mouse move starts Visual selection after a dialog (9.2.0946).\n  * GTK4: screen is cleared when moving the mouse after startup (9.2.0947).\n  * GTK4: mouse move starts Visual selection after a dialog (9.2.0948).\n  * GDK_KEY_VoidSymbol might be undefined (9.2.0949).\n  * transstr() can be improved (after 9.2.0906) (9.2.0950).\n  * GTK3: cursor does no longer blink (9.2.0951).\n  * locking a container while stringifying can be improved (9.2.0952).\n  * insert completion code can be improved (9.2.0953).\n  * u_read_undo() can be improved (after 9.2.0935) (9.2.0954).\n  * tests: terminal tests are flaky (9.2.0955).\n  * GTK4: crash when the window is resized while redrawing (9.2.0956).\n  * filetype: ArgoCD config file is not recognized (9.2.0957).\n- Allow `wrap` and `linebreak` to be set from a modeline (bsc#1268162).\n- Point `SYS_VIMRC_FILE` at `$VIMRUNTIME/suse.vimrc` rather than `/etc/vimrc`, which we no longer own (bsc#1268162).\n- Update `suse.vimrc`: source `/etc/vimrc` at the end of the file, so that a local system vimrc still overrides the\n  distribution defaults.\n- Guard `suse.vimrc` against re-entry to prevent an infinite sourcing loop (bsc#1271684).\n","modified":"2026-09-10T18:23:41.210508973Z","published":"2026-08-28T08:28:19Z","related":["CVE-2026-73070","CVE-2026-73071","CVE-2026-73072","CVE-2026-73074","CVE-2026-73075","CVE-2026-73076","CVE-2026-73077","CVE-2026-73078"],"upstream":["CVE-2026-73070","CVE-2026-73071","CVE-2026-73072","CVE-2026-73074","CVE-2026-73075","CVE-2026-73076","CVE-2026-73077","CVE-2026-73078"],"references":[{"type":"ADVISORY","url":"https://www.suse.com/support/update/announcement/2026/suse-su-202623391-1/"},{"type":"REPORT","url":"https://bugzilla.suse.com/1268162"},{"type":"REPORT","url":"https://bugzilla.suse.com/1271684"},{"type":"REPORT","url":"https://bugzilla.suse.com/1275011"},{"type":"REPORT","url":"https://bugzilla.suse.com/1275012"},{"type":"REPORT","url":"https://bugzilla.suse.com/1275013"},{"type":"REPORT","url":"https://bugzilla.suse.com/1275014"},{"type":"REPORT","url":"https://bugzilla.suse.com/1275015"},{"type":"REPORT","url":"https://bugzilla.suse.com/1275016"},{"type":"REPORT","url":"https://bugzilla.suse.com/1275017"},{"type":"REPORT","url":"https://bugzilla.suse.com/1275018"},{"type":"WEB","url":"https://www.suse.com/security/cve/CVE-2026-73070"},{"type":"WEB","url":"https://www.suse.com/security/cve/CVE-2026-73071"},{"type":"WEB","url":"https://www.suse.com/security/cve/CVE-2026-73072"},{"type":"WEB","url":"https://www.suse.com/security/cve/CVE-2026-73074"},{"type":"WEB","url":"https://www.suse.com/security/cve/CVE-2026-73075"},{"type":"WEB","url":"https://www.suse.com/security/cve/CVE-2026-73076"},{"type":"WEB","url":"https://www.suse.com/security/cve/CVE-2026-73077"},{"type":"WEB","url":"https://www.suse.com/security/cve/CVE-2026-73078"}],"affected":[{"package":{"name":"vim","ecosystem":"SUSE:Linux Micro Extras 6.2","purl":"pkg:rpm/suse/vim&distro=SUSE%20Linux%20Micro%20Extras%206.2"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"9.2.0957-160000.1.1"}]}],"ecosystem_specific":{"binaries":[{"xxd":"9.2.0957-160000.1.1","vim":"9.2.0957-160000.1.1"}]},"database_specific":{"source":"https://ftp.suse.com/pub/projects/security/osv/SUSE-SU-2026:23391-1.json"}}],"schema_version":"1.9.0"}