CVE-2026-52859
WysokieCVSS 8.2Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 21 - wyżej niż 21% wszystkich znanych CVE
Streszczenie
W Vimie, przed wersją 9.2.0565, funkcja update_snapshot() w src/terminal.c kopiowała widoczny ekran terminala do bufora przewijania, co mogło prowadzić do przekroczenia granic tablicy. W wyniku tego, program wyświetlany w oknie :terminal mógł spowodować awarię aplikacji.
Ocena ryzyka
Organizacje mogą doświadczyć awarii edytora Vim, co może prowadzić do utraty danych lub przerwy w pracy. W szczególności, aplikacje korzystające z terminala mogą być narażone na nieprzewidziane problemy.
Rekomendacja
Zaleca się aktualizację Vima do wersji 9.2.0565 lub nowszej, aby usunąć tę podatność. Dodatkowo, monitorowanie aplikacji działających w terminalu może pomóc w identyfikacji potencjalnych problemów.
Inne podatności w Vim
Zobacz wszystkie- CVE-2026-73073Wysokie
Vim przed wersją 9.2.0845 ma podatność w funkcji StructMembers() w runtime/autoload/ccomplete.vim, która konstruuje i wykonuje polecenie vimgrep z niewystarczająco escapowaną wartością typeref: lub typename: z pliku tags, co pozwala na wykonanie dowolnych poleceń Ex i systemu operacyjnego, gdy użytkownik wywoła autouzupełnianie C (CTRL-X CTRL-O) na dostępie do składowej, której typ jest rozwiązywany z tego pliku tags. Problem naprawiono w wersji 9.2.0845.
- CVE-2026-73078Wysokie
Vim, edytor tekstu wiersza poleceń, przed wersją 9.2.0840 ma podatność w runtime/plugin/netrwPlugin.vim i runtime/pack/dist/opt/netrw/autoload/netrw.vim, gdzie konstruowane są wpisy menu Bookmarks, History i Targets przez interpolację kontrolowanych przez atakującego ścieżek katalogów do wykonywanych poleceń :menu. Funkcje s:NetrwBookmarkMenu(), s:NetrwTgtMenu(), g:netrw_menu_escape, EX_TRLBAR i netrw#MakeTgt() nie neutralizują separatora poleceń | ani pojedynczych cudzysłowów w pięciu miejscach, co pozwala spreparowanej ścieżce przeglądanej lub dodanej do zakładek w GUI Vim na wykonanie dowolnych poleceń Ex i systemu operacyjnego. Problem naprawiono w wersji 9.2.0840.
- CVE-2026-73076Wysokie
W Vimie przed wersją 9.2.0847 plik runtime/autoload/vimball.vim pozwala spreparowanemu członkowi vimball o nazwie .VimballRecord nadpisać rekord instalacji poleceniami wybranymi przez atakującego. Gdy później funkcja vimball#RmVimball() przetwarza pasujący wpis rekordu, zapisane polecenia Ex, w tym polecenia systemu operacyjnego wywoływane przez :!, wykonują się z uprawnieniami użytkownika uruchamiającego Vima. Problem naprawiono w wersji 9.2.0847.
- CVE-2026-73071Niskie
Vim, otwartoźródłowy edytor tekstu, zawiera podatność w funkcji json_decode_item() w src/json.c, która może zachować nieaktualny wskaźnik po wywołaniu json_decode_string(), co prowadzi do odczytu zwolnionej pamięci w przypadku nieprawidłowego ciągu JSON obejmującego wiele buforów. Problem dotyczy wersji od 9.2.0511 do 9.2.0844 i został naprawiony w wersji 9.2.0844.
- CVE-2026-73070Średnie
Vim, edytor tekstu z linii poleceń, przed wersją 9.2.0842 zawiera podatność w backendzie serwera socket w src/socketserver.c, który akceptuje nieograniczoną liczbę połączeń klientów, co powoduje przepełnienie struktur fd_set w src/channel.c i tablic struct pollfd w src/os_unix.c. Lokalny proces mogący połączyć się z socketem serwera może uszkodzić pamięć stosu lub zakończyć działanie serwera Vim. Problem naprawiono w wersji 9.2.0842.
- CVE-2017-11109Wysokie
Vim 8.0 pozwala atakującym na spowodowanie odmowy usługi (nieważne zwolnienie pamięci) lub potencjalnie innego nieokreślonego wpływu poprzez spreparowany plik źródłowy (znany jako -S).
- CVE-2016-1248Wysokie
Vim przed poprawką 8.0.0056 nieprawidłowo waliduje wartości dla opcji 'filetype', 'syntax' i 'keymap', co może prowadzić do wykonania dowolnego kodu po otwarciu pliku z odpowiednio skonstruowanym modelem.
- CVE-2024-43802Średnie
Vim to ulepszona wersja edytora tekstu vi z systemu Unix. Podczas opróżniania bufora typeahead, Vim przesuwa bieżącą pozycję w buforze, ale nie sprawdza, czy jest wystarczająco dużo miejsca na kolejne znaki. Może to prowadzić do przesunięcia pozycji tb_off poza bufor.
- CVE-2024-47814Niskie
W edytorze Vim przed wersją 9.1.0764 wykryto błąd use-after-free. Podczas zamykania bufora widocznego w oknie, autokomenda BufWinLeave może ponownie otworzyć ten sam bufor w nowym oknie, prowadząc do użycia po zwolnieniu.
- CVE-2026-34714Krytyczne
Podatność w Vimie przed wersją 9.2.0272 umożliwia natychmiastowe wykonanie kodu po otwarciu spreparowanego pliku w domyślnej konfiguracji. Problem wynika z wstrzyknięcia %{expr} w tabpanel, które nie ma ustawionej flagi P_MLE.
Oryginalny opis (angielski, źródło NVD)
Vim is an open source, command line text editor. Prior to version 9.2.0565, the update_snapshot() function in src/terminal.c copies the visible terminal screen into the scrollback buffer when a snapshot is taken. For each screen cell it walks the cell's chars[] array with no upper bound, stopping only when it encounters a NUL terminator. When a cell legitimately fills all VTERM_MAX_CHARS_PER_CELL (6) slots — a base character plus five combining marks — the bundled libvterm returns the array without a terminating NUL, so the loop reads past the fixed six-element array and appends the out-of-bounds values to a buffer reserved for only six characters. A program whose output is rendered inside a :terminal window can trigger this with a short byte sequence and no Vim scripting, leading to a crash. This issue has been patched in version 9.2.0565.

