CVE-2026-59857
ŚrednieCVSS 5.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 1 - wyżej niż 1% wszystkich znanych CVE
Streszczenie
W Vimie przed wersją 9.2.0725 w funkcji spell_soundfold_sal() w pliku src/spell.c występuje podatność na zapis poza granicami bufora stosu. Podczas translacji słowa przez reguły dźwiękowe pliku zaklęć, brak odpowiedniego sprawdzenia długości może doprowadzić do zapisu jednego bajtu poza końcem bufora, co może spowodować uszkodzenie ramki stosu i awarię edytora.
Ocena ryzyka
Ryzyko polega na możliwości celowego wywołania awarii edytora Vim poprzez podanie specjalnie spreparowanego słowa do funkcji dźwiękowej, co może prowadzić do przerwania pracy lub potencjalnego wykorzystania w atakach typu denial of service.
Rekomendacja
Należy niezwłocznie zaktualizować Vima do wersji 9.2.0725 lub nowszej, która zawiera poprawkę eliminującą tę podatność.
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-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.
- 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. Prior to 9.2.0725, the single-byte branch of spell_soundfold_sal() in src/spell.c translates a word through a spell file's SAL sound-folding rules into a caller-owned result buffer, but its result writes are guarded with reslen < MAXWLEN, allowing reslen to reach MAXWLEN before res[reslen] = NUL writes one byte past the end of the MAXWLEN-element stack buffer. A boundary-length word passed to soundfold(), or reached via sound-based spell suggestion while a SAL-based spell language is active under a non-multibyte 8-bit encoding, can corrupt the eval_soundfold() stack frame and crash the editor. This issue is fixed in version 9.2.0725.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

