Katalog CVE

CVE-2026-52860

WysokieCVSS 7.8
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.22%

Percentyl 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 definicji, co pozwala złośliwemu buforowi na wykonanie kontrolowanych przez atakującego wyrażeń Pythona podczas autouzupełniania. Istniejące zabezpieczenie g:pythoncomplete_allow_import nie obejmuje tego przypadku, ponieważ atakujący nie używa instrukcji import/from.

Ocena ryzyka

Ryzyko polega na tym, że otwarcie złośliwego pliku w Vimie i wywołanie autouzupełniania Pythona może doprowadzić do wykonania dowolnego kodu Pythona w kontekście edytora, co może skutkować przejęciem kontroli nad systemem lub kradzieżą danych.

Rekomendacja

Należy natychmiast zaktualizować Vima do wersji 9.2.0597 lub nowszej. Jeśli aktualizacja nie jest możliwa, należy unikać otwierania niezaufanych plików i wyłączyć autouzupełnianie Pythona (omni-completion) do czasu zastosowania łatki.

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