Katalog CVE

CVE-2026-47781

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

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.13%

Percentyl 3 - wyżej niż 3% wszystkich znanych CVE

Streszczenie

PDM to menedżer pakietów i zależności dla Pythona. W wersjach do 2.26.9 włącznie, PDM automatycznie ładuje lokalne wtyczki projektu z katalogu .pdm-plugins podczas inicjalizacji, co pozwala plikowi kontrolowanemu przez atakującego w niezaufanym repozytorium na wykonanie dowolnego kodu Pythona przed przetworzeniem jakiegokolwiek polecenia. Dzieje się tak, ponieważ load_plugins() działa podczas Core.init() i dodaje .pdm-plugins przez site.addsitedir(), który przetwarza pliki .pth i natychmiast wykonuje każdą linię zaczynającą się od import, więc kod wykonuje się z uprawnieniami użytkownika wywołującego pdm, a nawet proste polecenie takie jak pdm --version je wyzwala (co ma największy wpływ w CI, automatyzacji i kontekstach uprzywilejowanych).

Ocena ryzyka

Ryzyko polega na wykonaniu dowolnego kodu w kontekście użytkownika uruchamiającego pdm, co w środowiskach CI lub z podwyższonymi uprawnieniami może prowadzić do pełnej kompromitacji systemu.

Rekomendacja

Zaleca się aktualizację PDM do wersji 2.27.0 lub nowszej, która zawiera poprawkę eliminującą automatyczne ładowanie wtyczek z niezaufanych źródeł.

Inne podatności w PDM

Zobacz wszystkie
Oryginalny opis (angielski, źródło NVD)

PDM is a Python package and dependency manager. In versions up to and including 2.26.9, PDM automatically loads project-local plugins from a .pdm-plugins directory during initialization, allowing an attacker-controlled file in an untrusted repository checkout to execute arbitrary Python code before any command is parsed. This happens because load_plugins() runs during Core.init() and adds .pdm-plugins via site.addsitedir(), which processes .pth files and immediately executes any line beginning with import, so the code runs with the privileges of the user invoking pdm and even a benign command such as pdm --version triggers it (making the impact strongest in CI, automation, and privileged contexts). The issue is fixed in version 2.27.0.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS