Publication de curl 7.71.0 corrigeant deux vulnérabilités

Disponible la nouvelle version de l'outil pour obtenir et envoyer des données sur le réseau — curl 7.71.0, permettant une flexibilité dans la formation des requêtes en spécifiant des paramètres tels que cookies, user_agent, referer et d'autres en-têtes. cURL prend en charge HTTP, HTTPS, HTTP/2.0, HTTP/3, SMTP, IMAP, POP3, Telnet, FTP, LDAP, RTSP, RTMP et d'autres protocoles réseau. En même temps, une mise à jour de la bibliothèque libcurl, qui fournit une API pour utiliser toutes les fonctionnalités de cURL dans des programmes écrits en C, Perl, PHP, Python, a été publiée.

La nouvelle version ajoute l'option «--retry-all-errors» pour tenter de réexécuter des opérations en cas d'erreurs, et deux vulnérabilités ont été corrigées :

  • Vulnérabilité CVE-2020-8177 permet de remplacer un fichier local sur le système lors de l'accès à un serveur contrôlé par un attaquant. Ce problème ne se produit que lors de l'utilisation simultanée des options «-J» («--remote-header-name») et «-i» («--head»). L'option «-J» permet d'enregistrer le fichier avec le nom donné dans l'en-tête
    «Content-Disposition». Si un fichier de ce nom existe déjà, le programme cURL refuse normalement de l'écraser, mais en cas d'utilisation de l'option «-i», la logique de vérification est violée et le fichier est écrasé (la vérification se fait au moment de la réception du corps de la réponse, mais avec l'option «-i», les en-têtes HTTP sont d'abord affichés et peuvent être enregistrés avant le traitement du corps de la réponse). Seuls les en-têtes HTTP sont enregistrés, mais le serveur peut renvoyer des données arbitraires au lieu des en-têtes, et elles seront enregistrées.
  • Vulnérabilité CVE-2020-8169 peut conduire à une fuite sur le serveur DNS de certaines parties de mots de passe d'accès au site (Basic, Digest, NTLM, etc.). Lorsqu'un symbole « @ » est utilisé dans le mot de passe, qui est également utilisé comme séparateur de mot de passe dans l'URL, lors de la redirection HTTP, curl enverra la partie du mot de passe après le symbole « @ » avec le domaine pour déterminer le nom. Par exemple, en spécifiant le mot de passe « passw@rd123 » et le nom d'utilisateur « dan », curl générera l'URL « https://dan:passw@rd123@example.com/path » au lieu de « https://dan:passwrd123@example.com/path » et enverra la demande pour résoudre l'hôte « rd123@example.com » au lieu de « example.com ».

    Le problème se manifeste lorsqu'on active le support des redirections HTTP relatives (désactivées via CURLOPT_FOLLOWLOCATION). En cas d'utilisation de DNS traditionnels, un fournisseur DNS et un attaquant capable d'intercepter le trafic réseau transit peuvent découvrir une partie du mot de passe (même si la requête initiale était en HTTPS, car le trafic DNS n'est pas chiffré). Lors de l'utilisation de DNS sur HTTPS (DoH), la fuite est limitée à l'opérateur DoH.

Source : opennet.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster