Podatności CPython
11 znanych podatności CVE w CPython, przetłumaczonych i ocenionych.
- CVE-2021-23336Średnie
Podatność w CPythonie (od wersji 0 do 3.6.13, 3.7.0-3.7.10, 3.8.0-3.8.8, 3.9.0-3.9.2) umożliwia zatruwanie pamięci podręcznej sieci Web poprzez funkcje urllib.parse.parse_qsl i urllib.parse.parse_qs. Atakujący może wykorzystać technikę zwaną 'parameter cloaking' do manipulacji parametrami zapytań.
- CVE-2024-6923Średnie
W CPython moduł email nieprawidłowo cytuje znaki nowej linii w nagłówkach wiadomości e-mail podczas serializacji. Umożliwia to wstrzyknięcie nagłówka (header injection) podczas serializacji wiadomości e-mail, co stanowi podatność średniego ryzyka (MEDIUM).
- CVE-2024-11168Średnie
Funkcje urllib.parse.urlsplit() i urlparse() w Pythonie nieprawidłowo walidują hosty w nawiasach kwadratowych (`[]`), akceptując hosty, które nie są IPv6 ani IPvFuture. To zachowanie jest niezgodne z RFC 3986 i może potencjalnie umożliwić ataki SSRF (Server-Side Request Forgery), jeśli URL jest przetwarzany przez więcej niż jeden parser URL.
- CVE-2024-6232Średnie
W CPython występuje podatność średniego ryzyka (MEDIUM) związana z wyrażeniami regularnymi. Podczas analizy nagłówków plików tar w tarfile.TarFile, nadmierne cofanie się (backtracking) w wyrażeniach regularnych może prowadzić do ataku ReDoS (Regular Expression Denial of Service) poprzez specjalnie spreparowane archiwa tar.
- CVE-2024-8088Średnie
W CPython moduł zipfile (konkretnie zipfile.Path) zawiera podatność wysokiego ryzyka (HIGH). Podczas iteracji po nazwach wpisów w archiwum zip (np. metody namelist(), iterdir()) może dojść do nieoczekiwanego zachowania. Należy zauważyć, że popularniejsza klasa zipfile.ZipFile nie jest dotknięta.
- CVE-2024-9287Średnie
W CPython moduł venv i CLI nieprawidłowo cytują ścieżki podane podczas tworzenia wirtualnego środowiska. Pozwala to twórcy na wstrzyknięcie komend do skryptów aktywacyjnych (np. source venv/bin/activate), co umożliwia wykonanie dowolnego kodu przy aktywacji środowiska.
- CVE-2024-7592Niskie
W CPythonie, w module bibliotecznym 'http.cookies', wykryto podatność o niskiej wadze. Podczas parsowania ciasteczek zawierających znaki ucieczki z backslashem, parser używa algorytmu o złożoności kwadratowej, co prowadzi do nadmiernego zużycia CPU.
- CVE-2026-2297Średnie
W CPython, hook importu obsługujący starsze pliki *.pyc (SourcelessFileLoader) jest nieprawidłowo obsługiwany w FileLoader (klasie bazowej) i nie używa io.open_code() do odczytu plików .pyc. W związku z tym handlery sys.audit dla tego zdarzenia audytu nie są wywoływane.
- CVE-2025-4516Średnie
W CPython występuje problem podczas używania `bytes.decode("unicode_escape", error="ignore|replace")`. Jeśli nie używasz kodowania "unicode_escape" lub obsługi błędów, nie jesteś dotknięty. Aby ominąć problem, możesz zaprzestać używania parametru error= i zamiast tego opakować wywołanie bytes.decode() w try-except łapiący DecodeError.
- CVE-2024-5642Średnie
CPython 3.9 i wcześniejsze nie blokują konfiguracji pustej listy ("[]") dla SSLContext.set_npn_protocols(), co jest nieprawidłową wartością dla bazowego API OpenSSL. Prowadzi to do nadmiernego odczytu bufora podczas używania NPN. Podatność ma niską wagę, ponieważ NPN nie jest szeroko używane, a określenie pustej listy jest mało prawdopodobne w praktyce.
- CVE-2023-6507Średnie
W CPython 3.12.0 w module subprocess na platformach POSIX stwierdzono problem: gdy parametr extra_groups=[] jest używany, proces nie wywołuje setgroups(0, NULL) przed exec(), co powoduje, że nowy proces dziedziczy grupy procesu nadrzędnego. Problem został naprawiony w CPython 3.12.1 i dotyczy tylko procesów uruchomionych z uprawnieniami root.

