Veröffentlichung von curl 7.71.0 mit der Behebung von zwei Sicherheitsanfälligkeiten

Verfügbar die neue Version des Tools zur Datenübertragung über Netzwerke — curl 7.71.0, das die flexible Erstellung von Anfragen ermöglicht, einschließlich der Angabe von Parametern wie Cookie, User-Agent, Referer und anderen Headern. cURL unterstützt HTTP, HTTPS, HTTP/2.0, HTTP/3, SMTP, IMAP, POP3, Telnet, FTP, LDAP, RTSP, RTMP und andere Netzwerkprotokolle. Gleichzeitig wurde ein Update der parallel entwickelten Bibliothek libcurl veröffentlicht, die eine API bereitstellt, um alle Funktionen von curl in Programmen in Sprachen wie C, Perl, PHP, Python zu nutzen.

In der neuen Version wurde die Option „—retry-all-errors“ hinzugefügt, um bei Auftreten von Fehlern Wiederholungsversuche für Operationen durchzuführen, und zwei Sicherheitsanfälligkeiten wurden behoben:

  • Sicherheitsanfälligkeit CVE-2020-8177 ermöglicht das Überschreiben einer lokalen Datei im System beim Zugriff auf einen von einem Angreifer kontrollierten Server. Das Problem tritt nur auf, wenn die Optionen „-J“ („—remote-header-name“) und „-i“ („—head“) gleichzeitig verwendet werden. Die Option „-J“ ermöglicht es, die Datei mit dem im Header angegebenen Namen zu speichern.
    «Content-Disposition». Wenn eine Datei mit diesem Namen bereits existiert, weigert sich das Programm curl standardmäßig, die Datei zu überschreiben. Mit der Option «-i» ändert sich jedoch die Logik der Überprüfung, und die Datei wird überschrieben (die Überprüfung erfolgt während des Empfangs des Antwortkörpers, aber bei der Option «-i» werden zunächst die HTTP-Header ausgegeben, die bis zum Beginn der Verarbeitung des Antwortkörpers gespeichert werden). In die Datei werden nur die HTTP-Header geschrieben, der Server kann jedoch anstelle der Header beliebige Daten zurückgeben, und diese werden ebenfalls gespeichert.
  • Sicherheitsanfälligkeit CVE-2020-8169 может привести к утечке на сервер DNS части некоторых паролей доступа к сайту (Basic, Digest, NTLM и т.п.). При использовании символа «@» в пароле, который также используется в качестве разделителя пароля в URL, при срабатывании HTTP-перенаправления curl отправит часть пароля после символа «@» вместе с доменом для определения имени. Например, при указании пароля «passw@rd123» и имени пользователя «dan», curl сгенерирует URL «https://dan:passw@rd123@example.com/path» вместо «https://dan:passw%40rd123@example.com/path» и отправит запрос на резолвинг хоста «rd123@example.com» вместо «example.com».

    Das Problem tritt auf, wenn die Unterstützung für relative HTTP-Redirects aktiviert ist (deaktiviert über CURLOPT_FOLLOWLOCATION). Bei Verwendung traditioneller DNS kann der DNS-Anbieter und ein Angreifer, der in der Lage ist, den transitiven Netzwerkverkehr abzufangen, Informationen über einen Teil des Passworts erhalten (selbst wenn die ursprüngliche Anfrage über HTTPS war, da DNS-Verkehr nicht verschlüsselt wird). Bei der Anwendung von DNS-over-HTTPS (DoH) wird das Risiko auf den DoH-Anbieter beschränkt.

Quelle: opennet.ru

Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen 🔥 Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen | ProHoster