curl 7.71.0 publié, corrigeant deux vulnérabilités

Disponible nouvelle version de l'utilitaire de réception et d'envoi de données sur le réseau - boucle 7.71.0, qui offre la possibilité de formuler une demande de manière flexible en spécifiant des paramètres tels que cookie, user_agent, referer et tout autre en-tête. 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. Dans le même temps, une mise à jour a été publiée pour la bibliothèque libcurl, développée en parallèle, fournissant une API permettant d'utiliser toutes les fonctions curl dans des programmes dans des langages tels que C, Perl, PHP, Python.

La nouvelle version ajoute l'option « --retry-all-errors » pour réessayer les opérations si des erreurs se produisent et corrige deux vulnérabilités :

  • La vulnérabilité CVE-2020-8177 vous permet d'écraser un fichier local dans le système lors de l'accès à un serveur contrôlé par l'attaquant. Le problème n'apparaît que lorsque les options « -J » (« –remote-header-name ») et « -i » (« –head ») sont utilisées simultanément. L'option "-J" permet d'enregistrer le fichier avec le nom spécifié dans l'en-tête
    "Contenu-Disposition". Si un fichier du même nom existe déjà, le programme curl refuse normalement d'effectuer un écrasement, mais si l'option « -i » est présente, la logique de vérification est rompue et le fichier est écrasé (la vérification est effectuée au stade de réception du corps de la réponse, mais avec l'option « -i », les en-têtes HTTP sont affichés en premier et ont le temps d'être enregistrés avant que le corps de la réponse ne commence à être traité). Seuls les en-têtes HTTP sont écrits dans le fichier, mais le serveur peut envoyer des données arbitraires à la place des en-têtes et elles seront écrites.

  • La vulnérabilité CVE-2020-8169 peut entraîner une fuite vers le serveur DNS de certains mots de passe d'accès au site (Basic, Digest, NTLM, etc.). En utilisant le symbole "@" dans un mot de passe, qui est également utilisé comme séparateur de mot de passe dans l'URL, lorsqu'une redirection HTTP est déclenchée, curl enverra la partie du mot de passe après le symbole "@" avec le domaine à résoudre. le nom. Par exemple, si vous fournissez le mot de passe "passw@rd123" et le nom d'utilisateur "dan", curl générera l'URL "https://dan:passw@[email protected]/path" au lieu de "https://dan:passw%[email protected]/path" et enverra une demande pour résoudre l'hôte "[email protected]" au lieu de " exemple.com ".

    Le problème apparaît lorsque la prise en charge des redirecteurs HTTP relatifs est activée (désactivée via CURLOPT_FOLLOWLOCATION). Si le DNS traditionnel est utilisé, les informations sur une partie du mot de passe peuvent être obtenues par le fournisseur DNS et par un attaquant qui a la capacité d'intercepter le trafic du réseau de transit (même si la demande initiale a été effectuée via HTTPS, puisque le trafic DNS n'est pas crypté). Lorsque DNS-over-HTTPS (DoH) est utilisé, la fuite est limitée à l'opérateur DoH.

Source: opennet.ru

Ajouter un commentaire