CVE-2018-1000030
NiskieCVSS 3.6Prawdopodobieństwo exploitacji (EPSS)
Podwyższone ryzykoPercentyl 67 - wyżej niż 67% wszystkich znanych CVE
Streszczenie
Python 2.7.14 jest podatny na Heap-Buffer-Overflow oraz Heap-Use-After-Free. Wersje Python przed 2.7.14 mogą być również podatne, a Python 2.7.17 i wcześniejsze mogą być podatne, ale nie zostało to potwierdzone. Podatność występuje, gdy wiele wątków przetwarza duże ilości danych. W obu przypadkach występuje zasadniczo wyścig (race condition). Dla Heap-Buffer-Overflow, Wątek 2 tworzy rozmiar bufora, ale Wątek 1 już pisze do bufora bez wiedzy ile ma pisać. Gdy przetwarzana jest duża ilość danych, łatwo spowodować uszkodzenie pamięci przez Heap-Buffer-Overflow. Dla Use-After-Free, Wątek3->Malloc->Wątek1->Free->Wątek2-Re-Używa-Zwolnionej-Pamięci. PSRT stwierdził, że to nie jest podatność bezpieczeństwa, ponieważ atakujący musi mieć możliwość uruchomienia kodu, ale w niektórych sytuacjach, takich jak funkcja jako usługa, ta podatność może być wykorzystana przez atakującego do naruszenia granicy zaufania, dlatego DWF uważa, że ta sprawa zasługuje na CVE.
Ocena ryzyka
Potencjalne uszkodzenie pamięci lub naruszenie granicy zaufania w środowiskach, gdzie atakujący może uruchomić kod, co może prowadzić do nieautoryzowanego dostępu lub awarii.
Rekomendacja
Zaktualizuj Python do wersji 2.7.15 lub nowszej (jeśli to możliwe, przejdź na wspierane wersje). Ogranicz możliwość uruchamiania kodu przez niezaufanych użytkowników.
Inne podatności w Python
Zobacz wszystkie- CVE-2013-7338Wysokie
Python w wersjach przed 3.3.4 RC1 umożliwia zdalnym atakującym wywołanie odmowy usługi poprzez wprowadzenie wartości rozmiaru pliku większej niż rozmiar pliku zip w funkcjach związanych z odczytem i ekstrakcją plików zip.
- CVE-2023-24329Wysokie
Podatność w komponencie urllib.parse języka Python przed wersją 3.11.4 umożliwia atakującym ominięcie metod blokowania poprzez dostarczenie adresu URL rozpoczynającego się od znaków pustych.
- CVE-2022-0391Wysokie
W Pythonie, w module urllib.parse, wykryto podatność polegającą na braku sanityzacji danych wejściowych przez metodę urlparse. Pozwala ona na wprowadzenie znaków ' ' i ' ' do ścieżki URL, co może prowadzić do ataków typu CRLF injection.
- CVE-2026-1299Średnie
Moduł email w Pythonie, a konkretnie klasa BytesGenerator, nieprawidłowo cytuje znaki nowej linii w nagłówkach wiadomości podczas serializacji, co umożliwia wstrzyknięcie nagłówka. Problem dotyczy tylko użycia LiteralHeader, które nie respektuje składania nagłówków.
- CVE-2022-42919Wysokie
Podatność w Pythonie 3.9.x przed 3.9.16 i 3.10.x przed 3.10.9 na systemie Linux umożliwia lokalną eskalację uprawnień w niestandardowej konfiguracji. Biblioteka multiprocessing z metodą startową forkserver pozwala na deserializację pickle'ów od dowolnego użytkownika w tej samej sieci lokalnej maszyny.
- CVE-2023-27043Średnie
Moduł email w Pythonie do wersji 3.11.3 błędnie parsuje adresy e-mail zawierające znaki specjalne. Nieprawidłowa część nagłówka RFC2822 jest identyfikowana jako wartość addr-spec.
- CVE-2020-10735Wysokie
W Pythonie znaleziono błąd. W algorytmach o kwadratowej złożoności czasowej używających niebinarnych baz, przy użyciu int("text"), system może potrzebować 50ms na sparsowanie int stringa z 100 000 cyfr i 5s dla 1 000 000 cyfr (float, decimal, int.from_bytes() i int() dla baz binarnych 2, 4, 8, 16 i 32 nie są dotknięte). Największe zagrożenie z tej podatności to dostępność systemu.
- CVE-2021-29921Krytyczne
W Pythonie przed wersją 3.9.5 biblioteka ipaddress nieprawidłowo obsługuje wiodące zera w oktetach adresu IP. W niektórych sytuacjach pozwala to atakującym obejść kontrolę dostępu opartą na adresach IP.
- CVE-2020-27619Krytyczne
W Pythonie w wersjach od 3 do 3.9.0 testy kodeków CJK w pliku Lib/test/multibytecodec_support.py wywołują funkcję eval() na treści pobranej przez HTTP. Może to prowadzić do wykonania dowolnego kodu, jeśli treść zostanie spreparowana.
- CVE-2020-26116Wysokie
http.client w Pythonie 3.x przed 3.5.10, 3.6.x przed 3.6.12, 3.7.x przed 3.7.9 i 3.8.x przed 3.8.5 pozwala na wstrzyknięcie CRLF, jeśli atakujący kontroluje metodę żądania HTTP, np. poprzez wstawienie znaków CR i LF w pierwszym argumencie HTTPConnection.request.
Oryginalny opis (angielski, źródło NVD)
Python 2.7.14 is vulnerable to a Heap-Buffer-Overflow as well as a Heap-Use-After-Free. Python versions prior to 2.7.14 may also be vulnerable and it appears that Python 2.7.17 and prior may also be vulnerable however this has not been confirmed. The vulnerability lies when multiply threads are handling large amounts of data. In both cases there is essentially a race condition that occurs. For the Heap-Buffer-Overflow, Thread 2 is creating the size for a buffer, but Thread1 is already writing to the buffer without knowing how much to write. So when a large amount of data is being processed, it is very easy to cause memory corruption using a Heap-Buffer-Overflow. As for the Use-After-Free, Thread3->Malloc->Thread1->Free's->Thread2-Re-uses-Free'd Memory. The PSRT has stated that this is not a security vulnerability due to the fact that the attacker must be able to run code, however in some situations, such as function as a service, this vulnerability can potentially be used by an attacker to violate a trust boundary, as such the DWF feels this issue deserves a CVE.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

