
curl 8.4.0 a été publié pour corriger et publier des détails sur une vulnérabilité de sécurité de haute gravité (CVE-2023-38545), atténuant les inquiétudes d’une semaine concernant la gravité de la faille.
curl est un utilitaire de ligne de commande qui vous permet de transférer des données via divers protocoles, le plus souvent utilisés pour vous connecter à des sites Web. Une bibliothèque libcurl associée permet aux développeurs d’incorporer curl dans leurs applications pour faciliter le transfert de fichiers.
Le 4 octobre, le développeur de curl, Daniel Stenberg, a averti que le cycle de développement de curl 8.4.0 serait écourté et que la nouvelle version serait publiée le 11 octobre pour résoudre une vulnérabilité, avertissant qu’il s’agissait de la pire faille de sécurité de curl observée depuis longtemps. .
« Nous raccourcissons le cycle de publication et publierons curl 8.4.0 le 11 octobre, y compris des correctifs pour un CVE de gravité ÉLEVÉE et un CVE de gravité FAIBLE », a expliqué Stenberg.
« Celui qui a obtenu la note ÉLEVÉE est probablement la pire faille de sécurité curl depuis longtemps. »
Comme curl et libcurl sont largement utilisés dans de nombreuses bibliothèques et applications et sont fournis avec presque tous les systèmes d’exploitation, cette annonce a donné lieu à de nombreux articles et publications sur les réseaux sociaux sur la crainte que cela ait un impact important et mette en danger de nombreux appareils. .
Pas aussi grave que nous le craignions
Mercredi, Stenberg a publié curl 8.4.0 avec des correctifs pour deux vulnérabilités de sécurité : un bug de dépassement de tampon de tas de haute gravité (CVE-2023-38545) et une faille d’injection de cookie de faible gravité (CVE-2023-38546).
La faille pour laquelle Stenberg a fourni un avertissement avancé est le débordement de tampon de tas de haute gravité dans l’implémentation du protocole proxy SOCKS5 de curl.
« En association avec la sortie de curl 8.4.0, nous publions un avis de sécurité et tous les détails concernant CVE-2023-38545 », a expliqué Stenberg.
« Ce problème est le pire problème de sécurité rencontré dans Curl depuis longtemps. Nous l’avons défini sur un niveau de gravité ÉLEVÉ. »
Un bug de dépassement de tampon de tas se produit lorsqu’un programme autorise par erreur l’écriture de plus de données dans une région de mémoire allouée qu’il ne peut en contenir. Cela entraîne l’écrasement des données saisies sur d’autres régions de mémoire et la corruption des données, ce qui entraîne des pannes d’application et, potentiellement, l’exécution de code à distance.
Bien que la faille puisse potentiellement avoir un impact sur les utilisateurs de curl, les exigences pour exploiter la vulnérabilité la rendent beaucoup moins dangereuse que prévu initialement, car elle nécessite que le client curl soit configuré pour utiliser un proxy SOCKS5 lors de l’établissement de connexions à un site distant et pour les redirections automatiques doivent être activées.
De plus, il existe également des exigences de temps pour exploiter avec succès la faille, nécessitant une connexion SOCKS5 lente au site distant.
« Si Curl ne parvient pas à résoudre l’adresse lui-même, il transmet le nom d’hôte au proxy SOCKS5. Cependant, la longueur maximale du nom d’hôte pouvant être transmis est de 255 octets », explique un avis RedHat sur la faille.
« Si le nom d’hôte est plus long, Curl passe à la résolution de nom local et transmet l’adresse résolue uniquement au proxy. »
« La variable locale qui demande à Curl de ‘laisser l’hôte résoudre le nom’ pourrait obtenir une valeur incorrecte lors d’une négociation SOCKS5 lente, ce qui entraînerait la copie du nom d’hôte trop long dans le tampon cible au lieu de l’adresse résolue, ce qui n’était pas le cas. comportement prévu. »
Pour exploiter cette faille, un attaquant pourrait créer un site Web qui redirigerait un visiteur vers un nom d’hôte très long (pensez à des milliers de caractères), ce qui entraînerait le déclenchement du bug de dépassement de tampon du tas par les données saisies et le crash du programme.
Bien qu’assez faciles à exploiter, les chercheurs ont déclaré à Breachtrace que les exploits de preuve de concept existants ne font que provoquer le crash de curl, conduisant à une attaque par déni de service plutôt qu’à l’exécution de code.
De plus, comme la plupart des utilisateurs de curl ne se connectent pas via SOCKS5, le bug ne les affecterait pas.
Bonnes cibles pour le bug
Un groupe de personnes que la vulnérabilité CVE-2023-38545 peut être utile pour cibler est celui des chercheurs et développeurs en cybersécurité.
Matthew Hickey (alias hackerfantastic), co-fondateur et chercheur en sécurité de Hacker House, a déclaré à Breachtrace qu’il était courant que les chercheurs et les développeurs en cybersécurité utilisent des proxys SOCKS5 pour demander des API.
« Cela nécessite que l’utilisateur de curl active l’utilisation d’un proxy chaussettes5, ce qui est en fait assez courant lorsque les gens demandent des API pour des tests de sécurité, du débogage ou d’autres travaux techniques – c’est également courant lors de l’analyse des services Tor à l’aide d’outils comme curl comme cela nécessite généralement un proxy chaussettes5 pour exécuter la requête », a déclaré Hickey à Breachtrace lors d’une conversation.
« De même, l’exigence de mauvais caractères ne pose pas vraiment de problème puisque la vulnérabilité peut être déclenchée par une réponse HTTP 302, ce qui signifie que l’attaquant contrôle entièrement les caractères qu’il fournit et n’a pas besoin d’ ‘être aussi astucieux ou intelligent avec les caractères qu’il fournit.livraison comme d’autres le sous-entendent.
Bien que Hickey pense qu’il s’agit d’un bug complexe qui nécessitera du temps et des efforts pour être correctement utilisé, il recommande aux utilisateurs de passer à la nouvelle version pour corriger les failles par sécurité.
De plus, à mesure que de plus en plus de chercheurs analysent attentivement le bug, il est possible que des exploits plus soient déployés menant à l’exécution de code.