Katalog CVE

CVE-2019-9947

ŚrednieCVSS 6.1
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Bardzo wysokie ryzyko
5.25%

Percentyl 92 - wyżej niż 92% wszystkich znanych CVE

Streszczenie

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.

Ocena ryzyka

Atakujący może wstrzyknąć dowolne nagłówki HTTP lub polecenia Redis, co może prowadzić do zatrucia odpowiedzi lub nieautoryzowanych operacji. Ryzyko dotyczy aplikacji przetwarzających niezaufane adresy URL.

Rekomendacja

Zaktualizuj Python do wersji zawierającej poprawkę (np. 2.7.17+, 3.5.10+, 3.6.10+, 3.7.4+ lub nowszej) oraz waliduj i sanityzuj dane wejściowe pochodzące z URL.

Inne podatności w Python urllib

Zobacz wszystkie
Oryginalny opis (angielski, źródło NVD)

An issue was discovered in urllib2 in Python 2.x through 2.7.16 and urllib in Python 3.x through 3.7.3. 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 path component of a URL that lacks a ? character) followed by an HTTP header or a Redis command. This is similar to the CVE-2019-9740 query string issue. This is fixed in: v2.7.17, v2.7.17rc1, v2.7.18, v2.7.18rc1; v3.5.10, v3.5.10rc1, v3.5.8, v3.5.8rc1, v3.5.8rc2, v3.5.9; v3.6.10, v3.6.10rc1, v3.6.11, v3.6.11rc1, v3.6.12, v3.6.9, v3.6.9rc1; v3.7.4, v3.7.4rc1, v3.7.4rc2, v3.7.5, v3.7.5rc1, v3.7.6, v3.7.6rc1, v3.7.7, v3.7.7rc1, v3.7.8, v3.7.8rc1, v3.7.9.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS