CVE-2023-6507
ŚrednieCVSS 6.1Prawdopodobieństwo exploitacji (EPSS)
Podwyższone ryzykoPercentyl 68 - wyżej niż 68% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Proces uruchomiony z uprawnieniami root może nieumyślnie przekazać niepotrzebne grupy do nowego procesu, co może prowadzić do eskalacji uprawnień lub nieautoryzowanego dostępu do zasobów.
Rekomendacja
Zaleca się aktualizację CPython do wersji 3.12.1 lub nowszej.
Inne podatności w CPython
Zobacz wszystkie- 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.
Oryginalny opis (angielski, źródło NVD)
An issue was found in CPython 3.12.0 `subprocess` module on POSIX platforms. The issue was fixed in CPython 3.12.1 and does not affect other stable releases. When using the `extra_groups=` parameter with an empty list as a value (ie `extra_groups=[]`) the logic regressed to not call `setgroups(0, NULL)` before calling `exec()`, thus not dropping the original processes' groups before starting the new process. There is no issue when the parameter isn't used or when any value is used besides an empty list. This issue only impacts CPython processes run with sufficient privilege to make the `setgroups` system call (typically `root`).
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

