{"id":"SUSE-SU-2026:3679-1","summary":"Security update for vim","details":"This update for vim fixes the following issues:\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\nChanges for vim:\n\n- Updated to 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","modified":"2026-08-22T09:45:07.043824409Z","published":"2026-08-21T14:20:23Z","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-20263679-1/"},{"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 Enterprise Micro 5.3","purl":"pkg:rpm/suse/vim&distro=SUSE%20Linux%20Enterprise%20Micro%205.3"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"9.2.0957-150000.5.102.1"}]}],"ecosystem_specific":{"binaries":[{"vim-data-common":"9.2.0957-150000.5.102.1","vim-small":"9.2.0957-150000.5.102.1"}]},"database_specific":{"source":"https://ftp.suse.com/pub/projects/security/osv/SUSE-SU-2026:3679-1.json"}},{"package":{"name":"vim","ecosystem":"SUSE:Linux Enterprise Micro 5.4","purl":"pkg:rpm/suse/vim&distro=SUSE%20Linux%20Enterprise%20Micro%205.4"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"9.2.0957-150000.5.102.1"}]}],"ecosystem_specific":{"binaries":[{"vim-data-common":"9.2.0957-150000.5.102.1","vim-small":"9.2.0957-150000.5.102.1"}]},"database_specific":{"source":"https://ftp.suse.com/pub/projects/security/osv/SUSE-SU-2026:3679-1.json"}}],"schema_version":"1.9.0"}