Podatności Python
20 znanych podatności CVE w Python, przetłumaczonych i ocenionych.
- 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-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-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-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-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-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-2026-15310Niskie
Podczas dekompresji spreparowanych plików zip przy użyciu kompresji bzip/LZMA/Zstandard, Python może użyć kontrolowanego przez atakującego rozmiaru do wstępnego przydzielenia pamięci, co może prowadzić do wyczerpania pamięci.
- CVE-2026-17084Średnie
Moduł 'stringprep' w Pythonie nie przetwarzał poprawnie znaków z tabel B.2 i B.3 standardu RFC 3454, używając najnowszych atrybutów Unicode zamiast określonej wersji Unicode 3.2.0. Powoduje to niezgodności podczas przetwarzania nazw domen z użyciem IDNA 2003 (kodowanie 'idna') oraz funkcji in_table_b2() modułu 'stringprep'. Problem dotyczy nazw domen zawierających znaki, które nie były wcześniej zarejestrowane lub których atrybuty Unicode, takie jak składanie wielkich liter, zostały zaktualizowane po Unicode 3.2.0.
- CVE-2026-18503Niskie
Podatność w Pythonie (csv.Sniffer) polegająca na nadmiernym zużyciu CPU podczas przetwarzania próbek CSV kontrolowanych przez atakującego. Wykrywanie dialektu może powodować super-liniową pracę wyrażeń regularnych.
- CVE-2026-15308Wysokie
Parser HTML (html.parser.HTMLParser) w trybie przyrostowym pozwala na atak DoS na procesor poprzez wielokrotne niezakończone deklaracje znaczników podczas przetwarzania niesterowanych danych.
- CVE-2026-12003Średnie
Podatność CVE-2026-12003 dotyczy sposobu, w jaki Python obsługuje zmienną VPATH podczas budowy z drzewa źródłowego. W przypadku systemu Windows, VPATH może wskazywać na lokalizację, która znajduje się poza katalogiem instalacyjnym Pythona, co może umożliwić użytkownikom o niskich uprawnieniach tworzenie plików, które mogą być wykorzystane do uzyskania dostępu do alternatywnego folderu `Lib`.
- CVE-2026-9669Wysokie
Obiekty bz2.BZ2Decompressor mogły być ponownie używane po błędzie dekompresji. Jeśli aplikacja przechwyciła wynikowy wyjątek OSError i ponowiła próbę z tym samym dekompresorem, spreparowane dane mogły spowodować wznowienie dekompresji z nieprawidłowego stanu wewnętrznego i zapisy poza zakresem do bufora stosu. Może to doprowadzić do awarii procesu podczas przetwarzania niezaufanych danych.
- CVE-2026-7774Średnie
Funkcja tarfile.data_filter w Pythonie może zostać ominięta przez spreparowane dowiązania symboliczne, co pozwala na zapis plików poza docelowym katalogiem podczas wyodrębniania archiwum tar. Atakujący może umieścić pliki w dowolnej lokalizacji.
- CVE-2026-3276Średnie
Funkcja unicodedata.normalize() może zużywać nadmierną moc CPU podczas przetwarzania specjalnie spreparowanych danych Unicode zawierających długie ciągi znaków kombinujących o zmiennych wartościach klasy porządkowania kanonicznego. Problem dotyczy wszystkich form normalizacji.
- CVE-2026-8328Średnie
Podatność w funkcji ftpcp() w module ftplib.py języka Python. Funkcja ta nie została zaktualizowana podczas naprawy CVE-2021-4189, co pozwala atakującemu na kontrolowanie adresu IP i portu przekazywanego do target.sendport().
- CVE-2026-3298Wysokie
Metoda sock_recvfrom_into() w asyncio.ProactorEventLoop (tylko Windows) nie sprawdzała granic bufora danych przy użyciu parametru nbytes, co umożliwiało zapis poza buforem, jeśli dane były większe niż rozmiar bufora.
- CVE-2026-6100Wysokie
W bibliotece standardowej Pythona wykryto podatność use-after-free w klasach `lzma.LZMADecompressor`, `bz2.BZ2Decompressor` i `gzip.GzipFile`. Problem występuje, gdy alokacja pamięci zakończy się błędem `MemoryError`, a instancja dekompresora jest ponownie używana. Luka została załatana przez usunięcie wiszącego wskaźnika w tym konkretnym scenariuszu.
- CVE-2026-4519Niskie
Podatność w API webbrowser.open() w Pythonie pozwalała na akceptowanie adresów URL rozpoczynających się od myślników, które mogły być interpretowane jako opcje linii poleceń przez niektóre przeglądarki internetowe. Nowe zachowanie odrzuca takie adresy URL.
- CVE-2025-0938Średnie
Funkcje standardowej biblioteki Pythona `urllib.parse.urlsplit` i `urlparse` akceptują nazwy domen zawierające nawiasy kwadratowe, co jest niezgodne z RFC 3986. Nawiasy kwadratowe są przeznaczone wyłącznie jako ograniczniki dla hostów IPv6 i IPvFuture w adresach URL. Może to prowadzić do różnic w parsowaniu między parserem URL Pythona a innymi parserami zgodnymi ze specyfikacją.
- CVE-2023-40217Średnie
Wykryto problem w Pythonie przed wersją 3.8.18, 3.9.x przed 3.9.18, 3.10.x przed 3.10.13 oraz 3.11.x przed 3.11.5, który dotyczy serwerów korzystających z uwierzytelniania klienta TLS. W przypadku szybkiego zamknięcia gniazda serwera TLS, dane mogą być odczytywane z bufora gniazda, mimo że nie są uwierzytelnione.

