curl 7.71.0 został wydany, naprawiając dwie luki

Dostępny nowa wersja narzędzia do odbierania i wysyłania danych przez sieć - zwinąć 7.71.0, który zapewnia możliwość elastycznego formułowania żądania poprzez określenie parametrów takich jak cookie, user_agent, referer i dowolne inne nagłówki. cURL obsługuje HTTP, HTTPS, HTTP/2.0, HTTP/3, SMTP, IMAP, POP3, Telnet, FTP, LDAP, RTSP, RTMP i inne protokoły sieciowe. Jednocześnie wypuszczono aktualizację dla rozwijanej równolegle biblioteki libcurl, udostępniającej API umożliwiające wykorzystanie wszystkich funkcji curl w programach w językach takich jak C, Perl, PHP, Python.

Nowa wersja dodaje opcję „--retry-all-errors”, aby ponowić operację, jeśli wystąpią jakiekolwiek błędy, i naprawia dwie luki:

  • Słaby punkt CVE-2020-8177 umożliwia nadpisanie lokalnego pliku w systemie podczas uzyskiwania dostępu do serwera kontrolowanego przez atakującego. Problem pojawia się tylko wtedy, gdy jednocześnie używane są opcje „-J” („–nazwa-nagłówka-zdalnego”) i „-i” („-head”). Opcja „-J” umożliwia zapisanie pliku pod nazwą podaną w nagłówku
    „Rozmieszczenie treści”. Jeśli plik o tej nazwie już istnieje, program curl zwykle odmawia wykonania nadpisania, ale jeśli występuje opcja „-i”, logika sprawdzania zostaje zerwana i plik zostaje nadpisany (sprawdzanie odbywa się na etapie otrzymania treści odpowiedzi, ale przy opcji „-i” nagłówki HTTP są wyświetlane jako pierwsze i mają czas na zapisanie przed rozpoczęciem przetwarzania treści odpowiedzi). Do pliku zapisywane są tylko nagłówki HTTP, ale serwer może zamiast nagłówków wysyłać dowolne dane i zostaną one zapisane.

  • Słaby punkt CVE-2020-8169 może spowodować wyciek do serwera DNS niektórych haseł dostępu do serwisu (Basic, Digest, NTLM itp.). Używając symbolu „@” w haśle, który jest również używany jako separator hasła w adresie URL, po uruchomieniu przekierowania HTTP curl wyśle ​​część hasła po symbolu „@” wraz z domeną do rozwiązania imię. Na przykład, jeśli podasz hasło „passw@rd123” i nazwę użytkownika „dan”, curl wygeneruje adres URL „https://dan:passw@[email chroniony]/path” zamiast „https://dan:passw%[email chroniony]/path” i wyśle ​​żądanie rozwiązania hosta „[email chroniony]" zamiast "example.com".

    Problem pojawia się, gdy włączona jest obsługa względnych przekierowań HTTP (wyłączona przez CURLOPT_FOLLOWLOCATION). W przypadku korzystania z tradycyjnego DNS informacje o części hasła mogą zostać przechwycone zarówno przez dostawcę DNS, jak i przez osobę atakującą, która ma możliwość przechwycenia tranzytowego ruchu sieciowego (nawet jeśli pierwotne żądanie pochodziło za pośrednictwem protokołu HTTPS, ponieważ ruch DNS nie jest szyfrowany). W przypadku korzystania z usługi DNS-over-HTTPS (DoH) wyciek jest ograniczony do operatora DoH.

Źródło: opennet.ru

Dodaj komentarz