W Python 3.8.4 ograniczenia ścieżek wyszukiwania modułów (sys.path) zdefiniowane w pliku python38._pth są ignorowane, co umożliwia ładowanie kodu z dowolnych lokalizacji. Podatność klasyfikowana jest jako Untrusted Search Path (CWE-426) i otrzymała ocenę CVSS 9.8 (CRITICAL).
▸ Pokaż oryginał (EN)
In Python 3.8.4, sys.path restrictions specified in a python38._pth file are ignored, allowing code to be loaded from arbitrary locations. The <executable-name>._pth file (e.g., the python._pth file) is not affected.
Python obsługuje pliki konfiguracyjne ._pth, które pozwalają administratorom ograniczyć katalogi przeszukiwane przy imporcie modułów. W wersji 3.8.4 mechanizm ten jest wadliwie zaimplementowany dla pliku python38._pth – zdefiniowane w nim restrykcje są pomijane. W rezultacie interpreter może załadować moduły lub biblioteki z lokalizacji niezatwierdzonych przez administratora, w tym z katalogów kontrolowanych przez atakującego. Plik <executable-name>._pth (np. python._pth) nie jest dotknięty tym problemem.
Atakujący może doprowadzić do załadowania złośliwego kodu przez interpreter Python, co w konsekwencji może skutkować wykonaniem dowolnego kodu (RCE), naruszeniem poufności danych, integralności systemu lub jego dostępności.
Należy zastosować patche dostępne u producenta zgodnie z referencjami. Poprawka dostępna jest w formie pull request do repozytorium CPython (github.com/python/cpython/pull/21495). Zaleca się aktualizację Pythona do wersji wyższej niż 3.8.4 lub zastosowanie oficjalnego patcha dostawcy.
Python 3.8.4 działający na systemie Microsoft Windows; podatność dotyczy również produktu NetApp Max Data korzystającego z tej wersji Pythona
Problem dotyczy wyłącznie pliku python38._pth; plik <executable-name>._pth (np. python._pth) działa poprawnie i nie jest podatny. Podatność zgłoszono w Python Bug Tracker jako issue #41304.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HMicrosoft Windows
OSMicrosoftwszystkie wersjeNetapp Max Data
APPNetappwszystkie wersjePython
APPPython3.7.0 – 3.7.9 (bez)3.8.0 – 3.8.5 (bez)
Powiązane podatności
Atak na łańcuch dostaw DAEMON Tools Lite — trojanizacja instalatorów
Type confusion w V8 (Google Chrome) — zdalne uszkodzenie sterty
Commvault Command Center – nieuwierzytelniony RCE przez path traversal w ZIP
Path Traversal w Kingsoft WPS Office — ładowanie dowolnej biblioteki Windows
PHP CGI argument injection – RCE na Windows przez mechanizm Best-Fit