CVE-2026-52860
WysokieCVSS 7.8Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 13 - wyżej niż 13% wszystkich znanych CVE
Streszczenie
W Vimie przed wersją 9.2.0597 funkcja autouzupełniania Pythona (omni-completion) wykonuje zrekonstruowane definicje funkcji i klas z bieżącego bufora za pomocą exec(). Python oblicza domyślne wartości argumentów, adnotacje parametrów i wyrażenia klas w momencie definiowania, więc złośliwy bufor może wykonać kontrolowane przez atakującego wyrażenia Pythona podczas autouzupełniania. Istniejące zabezpieczenie g:pythoncomplete_allow_import nie obejmuje tej ścieżki, ponieważ kontrolowany kod nie jest przechwyconą instrukcją import/from.
Ocena ryzyka
Atakujący może wstrzyknąć i wykonać dowolny kod Python w kontekście edytora Vim, co może prowadzić do przejęcia kontroli nad systemem, kradzieży danych lub eskalacji uprawnień, jeśli ofiara otworzy złośliwy plik i uruchomi autouzupełnianie.
Rekomendacja
Należy natychmiast zaktualizować Vima do wersji 9.2.0597 lub nowszej. Jeśli aktualizacja nie jest możliwa, należy wyłączyć funkcję autouzupełniania Pythona (omni-completion) lub unikać otwierania niezaufanych plików.
Inne podatności w Vim
Zobacz wszystkie- CVE-2026-41411Średnie
Vim to otwartoźródłowy edytor tekstu wiersza poleceń. W wersjach przed 9.2.0357 istnieje podatność na wstrzyknięcie poleceń w przetwarzaniu plików tagów. Podczas rozwiązywania tagu pole nazwy pliku jest poddawane ekspansji symboli wieloznacznych; jeśli zawiera składnię backtick (np. `command`), Vim wykonuje osadzone polecenie przez powłokę systemową z pełnymi uprawnieniami użytkownika.
- CVE-2026-28422Niskie
Vim to otwartoźródłowy edytor tekstu wiersza poleceń. W wersjach przed 9.2.0078 występuje przepełnienie bufora stosu w funkcji `build_stl_str_hl()` podczas renderowania linii statusu z wielobajtowym znakiem wypełnienia na bardzo szerokim terminalu. Wersja 9.2.0078 naprawia ten problem.
- CVE-2026-28421Średnie
Vim w wersjach przed 9.2.0077 ma przepełnienie bufora sterty i błąd segmentacji (SEGV) w logice odzyskiwania pliku swap. Oba problemy wynikają z niezwalidowanych pól odczytywanych ze spreparowanych bloków wskaźników w pliku swap.
- CVE-2026-28420Średnie
Vim, otwartoźródłowy edytor tekstu wiersza poleceń, w wersjach przed 9.2.0076 zawiera przepełnienie bufora oparte na stercie (zapis) oraz odczyt poza granicami bufora w emulatorze terminala podczas przetwarzania maksymalnej liczby znaków łączących z dodatkowych płaszczyzn Unicode. Wersja 9.2.0076 naprawia ten problem.
- CVE-2026-28419Średnie
W Vim przed wersją 9.2.0075 istnieje podczytanie poza bufor (heap-based buffer underflow) w logice parsowania plików tags w stylu Emacs. Przy przetwarzaniu zniekształconego pliku tags, w którym separator występuje na początku linii, Vim próbuje odczytać pamięć bezpośrednio przed zaalokowanym buforem.
- CVE-2026-28418Średnie
Vim jest podatny na przepełnienie bufora oparte na stercie i odczyt poza granicami w logice parsowania plików tagów w stylu Emacs przed wersją 9.2.0074. Przetwarzając złośliwy plik tagów, Vim może odczytać do 7 bajtów poza przydzieloną pamięcią. Wersja 9.2.0074 naprawia problem.
- CVE-2026-28417Średnie
W wtyczce netrw dołączanej do edytora Vim istnieje luka umożliwiająca wstrzyknięcie poleceń systemu operacyjnego. Otwarcie spreparowanego adresu URL (np. przez obsługę protokołu scp://) pozwala atakującemu na wykonanie dowolnych poleceń powłoki z uprawnieniami procesu Vim. Problem naprawiono w wersji 9.2.0073.
- CVE-2026-26269Średnie
W integracji NetBeans w Vimie istnieje przepełnienie bufora stosu podczas przetwarzania polecenia specialKeys. Złośliwy serwer NetBeans może przepełnić 64-bajtowy bufor keybuf pojedynczym poleceniem specialKeys. Problem naprawiono w wersji 9.1.2148.
- CVE-2024-22667Wysokie
W edytorze Vim w wersjach przed 9.0.2142 występuje przepełnienie bufora na stosie, ponieważ funkcja did_set_langmap w pliku map.c używa sprintf do zapisu do bufora błędu przekazywanego do funkcji zwrotnych opcji.
- 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).
Oryginalny opis (angielski, źródło NVD)
Vim is an open source, command line text editor. Prior to version 9.2.0597, Vim's Python omni-completion executes reconstructed function and class definitions from the current buffer with exec() as part of populating the completion dictionary. Python evaluates function default values, parameter annotations, and class base expressions at definition time, so a hostile buffer can execute attacker-controlled Python expressions during omni-completion. The existing g:pythoncomplete_allow_import mitigation (GHSA-52mc-rq6p-rc7c) does not cover this path, because the attacker-controlled code is not a harvested import/from statement. This issue has been patched in version 9.2.0597.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

