CVE-2026-32249
ŚrednieCVSS 5.3Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 3 - wyżej niż 3% wszystkich znanych CVE
Streszczenie
W Vimie, kompilator wyrażeń regularnych NFA, podczas napotkania kolekcji zawierającej znak kombinujący jako punkt końcowy zakresu znaków (np. [0-0\u05bb]), nieprawidłowo emituje bajty składowe tego znaku jako osobne stany NFA. Prowadzi to do uszkodzenia stosu postfiksowego NFA, co skutkuje błędem segmentacji (segfault) podczas szacowania szerokości dopasowania dla asercji look-behind. Luka została naprawiona w wersji 9.2.0137.
Ocena ryzyka
Podatność może spowodować awarię Vima (segfault) podczas przetwarzania specjalnie spreparowanych wyrażeń regularnych, co prowadzi do odmowy usługi.
Rekomendacja
Zaleca się aktualizację Vima do wersji 9.2.0137 lub nowszej.
Inne podatności w Vim
Zobacz wszystkie- 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-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-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-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.
- CVE-2017-6350Krytyczne
W programie vim przed poprawką 8.0.0378 występuje przepełnienie całkowite w miejscu alokacji pamięci unserialize_uep, które może wystąpić, gdy nie są prawidłowo weryfikowane wartości długości drzewa podczas odczytu uszkodzonego pliku cofania. Może to prowadzić do przepełnienia bufora.
- CVE-2017-6349Krytyczne
W programie vim przed poprawką 8.0.0377 występuje przepełnienie całkowitej liczby w miejscu alokacji pamięci u_read_undo, gdy nie są prawidłowo weryfikowane wartości długości drzewa podczas odczytu uszkodzonego pliku undo, co może prowadzić do przepełnienia bufora.
- CVE-2017-5953Krytyczne
Vim przed poprawką 8.0.0322 nieprawidłowo waliduje wartości długości drzewa podczas obsługi pliku słownika, co może prowadzić do przepełnienia całkowitego w miejscu alokacji pamięci oraz skutkować przepełnieniem bufora.
- CVE-2026-43961Wysokie
Wtyczka netrw w Vimie zawiera podatność, która pozwala na wykonanie dowolnego kodu Vimscript przez specjalnie spreparowaną nazwę pliku z cudzysłowami i fragmentami wyrażeń. Może to prowadzić do wykonania poleceń powłoki z uprawnieniami użytkownika uruchamiającego Vima.
- 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.
Oryginalny opis (angielski, źródło NVD)
Vim is an open source, command line text editor. From 9.1.0011 to before 9.2.0137, Vim's NFA regex compiler, when encountering a collection containing a combining character as the endpoint of a character range (e.g. [0-0\u05bb]), incorrectly emits the composing bytes of that character as separate NFA states. This corrupts the NFA postfix stack, resulting in NFA_START_COLL having a NULL out1 pointer. When nfa_max_width() subsequently traverses the compiled NFA to estimate match width for the look-behind assertion, it dereferences state->out1->out without a NULL check, causing a segmentation fault. This vulnerability is fixed in 9.2.0137.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

