W Pythonie odkryto regresję bezpieczeństwa CVE-2019-9636, która nadal umożliwia atakującemu manipulację częścią użytkownika i hasła w adresach URL w celu wyłudzenia danych uwierzytelniających lub ciasteczek. Podatność uzyskała ocenę CVSS 9.8 i dotyczy szerokiego zakresu wersji gałęzi 2.7, 3.5, 3.6, 3.7 oraz wczesnych wydań 3.8.
▸ Pokaż oryginał (EN)
A security regression of CVE-2019-9636 was discovered in python since commit d537ab0ff9767ef024f26246899728f0116b1ec3 affecting versions 2.7, 3.5, 3.6, 3.7 and from v3.8.0a4 through v3.8.0b1, which still allows an attacker to exploit CVE-2019-9636 by abusing the user and password parts of a URL. When an application parses user-supplied URLs to store cookies, authentication credentials, or other kind of information, it is possible for an attacker to provide specially crafted URLs to make the application locate host-related information (e.g. cookies, authentication data) and send them to a different host than where it should, unlike if the URLs had been correctly parsed. The result of an attack may vary based on the application.
Atakujący dostarcza specjalnie spreparowany adres URL, w którym złośliwe dane umieszczone są w polach użytkownika lub hasła. Podatny parser URL w Pythonie nieprawidłowo interpretuje taki adres, co skutkuje błędnym wyznaczeniem hosta docelowego. Aplikacja, która przechowuje lub przesyła na podstawie tego URL ciasteczka, dane logowania lub inne wrażliwe informacje, może je wysłać do hosta kontrolowanego przez atakującego zamiast do zamierzonego serwera.
Atakujący może doprowadzić do ujawnienia danych uwierzytelniających, ciasteczek sesyjnych lub innych poufnych informacji poprzez przekierowanie ich do kontrolowanego przez siebie hosta. Konkretne skutki zależą od sposobu, w jaki podatna aplikacja przetwarza i wykorzystuje dostarczone adresy URL.
Należy zastosować patche dostępne u producenta zgodnie z referencjami. Red Hat udostępnił poprawki w erratach RHSA-2019:1587, RHSA-2019:1700 oraz RHSA-2019:2437. Dostępne są również aktualizacje dla openSUSE. Zaleca się aktualizację Pythona do wersji niezawierającej regresji wskazanych przez producenta.
Python w wersjach 2.7, 3.5, 3.6, 3.7 oraz od v3.8.0a4 do v3.8.0b1 (począwszy od commitu d537ab0ff9767ef024f26246899728f0116b1ec3)
Podatność stanowi regresję wcześniej łatanej luki CVE-2019-9636, wprowadzoną w commicie d537ab0ff9767ef024f26246899728f0116b1ec3. Oznacza to, że pierwotna poprawka nie wyeliminowała problemu w pełnym zakresie — atakujący mógł nadal eksploitować ten sam wektor ataku przez nadużycie pól user i password w URL.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HCanonical Ubuntu
OSCanonical12.0414.0416.0418.0419.04Debian
OSDebian8.09.0Fedora Project Fedora
OSFedoraproject293031Netapp Cloud Backup
APPNetappwszystkie wersjeNetapp Converged Systems Advisor Agent
APPNetappwszystkie wersjeOpensuse Leap
OSOpensuse15.015.1Python
APPPython3.8.02.7.0 – 2.7.17 (bez)3.7.0 – 3.7.4 (bez)3.6.0 – 3.6.9 (bez)3.5.0 – 3.5.8 (bez)Red Hat Enterprise Linux
OSRedhat7.0Red Hat Enterprise Linux Desktop
OSRedhat7.0Red Hat Enterprise Linux Eus
OSRedhat7.6Red Hat Enterprise Linux Server
OSRedhat7.0Red Hat Enterprise Linux Server Aus
OSRedhat7.6Red Hat Enterprise Linux Server Tus
OSRedhat7.6Red Hat Enterprise Linux Workstation
OSRedhat7.0Red Hat Virtualization
APPRedhat4.0
Powiązane podatności
GNU Inetutils telnetd: ominięcie uwierzytelnienia przez zmienną USER
Sudo: eskalacja uprawnień do root poprzez opcję --chroot (CVE-2025-32463)
RCE przez deserializację PHP w Roundcube Webmail (parametr _from)
Erlang/OTP SSH — nieuwierzytelniony RCE (CVSS 10.0)
Apple WebKit: out-of-bounds write umożliwiający ucieczkę z sandbox przeglądarki