CVE-2019-18348
ŚrednieCVSS 6.1Prawdopodobieństwo exploitacji (EPSS)
Wysokie ryzykoPercentyl 89 - wyżej niż 89% wszystkich znanych CVE
Streszczenie
W bibliotekach urllib2 (Python 2.x do 2.7.17) oraz urllib (Python 3.x do 3.8.0) wykryto możliwość wstrzyknięcia CRLF, jeśli atakujący kontroluje parametr URL. Wstrzyknięcie następuje poprzez znaki \r\n w komponencie hosta adresu URL, po których następuje nagłówek HTTP. Podatność jest podobna do CVE-2019-9740 i CVE-2019-9947 i została naprawiona w nowszych wersjach Pythona.
Ocena ryzyka
Atakujący może wstrzyknąć dowolne nagłówki HTTP, co może prowadzić do zatrucia odpowiedzi lub innych ataków. Ryzyko dotyczy aplikacji przetwarzających niezaufane adresy URL.
Rekomendacja
Zaktualizuj Python do wersji zawierającej poprawkę (np. 2.7.18+, 3.5.10+, 3.6.11+, 3.7.8+, 3.8.3+ lub nowszej) oraz waliduj i sanityzuj dane wejściowe pochodzące z URL.
Inne podatności w Python urllib
Zobacz wszystkie- CVE-2019-9947Średnie
W bibliotekach urllib2 (Python 2.x do 2.7.16) oraz urllib (Python 3.x do 3.7.3) wykryto możliwość wstrzyknięcia CRLF, jeśli atakujący kontroluje parametr URL. Wstrzyknięcie następuje poprzez znaki \r\n w komponencie ścieżki adresu URL (bez znaku ?), po których następuje nagłówek HTTP lub polecenie Redis. Podatność jest podobna do CVE-2019-9740 i została naprawiona w nowszych wersjach Pythona.
- CVE-2019-9740Średnie
W bibliotekach urllib2 (Python 2.x do 2.7.16) oraz urllib (Python 3.x do 3.7.3) wykryto możliwość wstrzyknięcia CRLF, jeśli atakujący kontroluje parametr URL. Wstrzyknięcie następuje poprzez znaki \r\n w ciągu zapytania (po znaku ?), po których następuje nagłówek HTTP lub polecenie Redis. Podatność została naprawiona w nowszych wersjach Pythona.
- CVE-2026-15806Średnie
Klasa HTTPPasswordMgr w module urllib.request oraz jej podklasy nie uwzględniały schematu URL przy dopasowywaniu zapisanych poświadczeń do żądanego adresu URL. Poświadczenia dodane dla https:// były używane również dla http://, co umożliwiało przechwycenie ich w postaci jawnego tekstu.
Oryginalny opis (angielski, źródło NVD)
An issue was discovered in urllib2 in Python 2.x through 2.7.17 and urllib in Python 3.x through 3.8.0. CRLF injection is possible if the attacker controls a url parameter, as demonstrated by the first argument to urllib.request.urlopen with \r\n (specifically in the host component of a URL) followed by an HTTP header. This is similar to the CVE-2019-9740 query string issue and the CVE-2019-9947 path string issue. (This is not exploitable when glibc has CVE-2016-10739 fixed.). This is fixed in: v2.7.18, v2.7.18rc1; v3.5.10, v3.5.10rc1; v3.6.11, v3.6.11rc1, v3.6.12; v3.7.8, v3.7.8rc1, v3.7.9; v3.8.3, v3.8.3rc1, v3.8.4, v3.8.4rc1, v3.8.5, v3.8.6, v3.8.6rc1.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

