Bulletins

Bug de contrebande de requêtes HTTP dans mitmproxy

bs1.jpg

Mitmproxy, un service proxy HTTPS interactif open source, a corrigé un dangereux bug qui permettait potentiellement aux attaquants d'organiser des attaques de type "HTTP request smuggling" contre des serveurs Backend.

Les attaques de type HTTP request smuggling exploitent les incohérences entre la façon dont les serveurs intermédiaires et les serveurs Backend traitent les demandes pour contourner les contrôles de sécurité, obtenir un accès non autorisé à des données sensibles ou compromettre les utilisateurs d'autres applications.

Zhang Zeyu, le chercheur en sécurité qui a signalé le bogue, a découvert qu'un attaquant pouvait faire passer clandestinement une demande/réponse par mitmproxy dans le corps du message HTTP d'une autre demande/réponse.

"Si les vecteurs d'attaque les plus évidents (par exemple, les doubles en-têtes Content-Length, l'utilisation de Content-Length au lieu de Transfer-Encoding) sont rares de nos jours, des écarts plus subtils par rapport à la norme rendent certaines configurations tout aussi vulnérables à la contrebande de requêtes", a-t-il déclaré.

Dans le cas de mitmproxy, un problème d'analyse des espaces dans les noms d'en-tête a fait que mitmproxy et un serveur en aval ont pu avoir des interprétations différentes des en-têtes HTTP.

"L'élimination de ce type de vulnérabilité est très délicate, car il faut que les différentes implémentations HTTP (proxy et serveur cible) se mettent d'accord sur une interprétation commune des messages HTTP", explique Maximilian Hils, responsable de mitmproxy.

Une autre solution consiste à faire en sorte que le proxy rejette les messages potentiellement mal formés, mais cela aurait l'inconvénient d'imposer des problèmes de compatibilité avec les clients dans la nature, a déclaré Hils.

Le bogue ne fonctionne que contre les services HTTP/1 derrière mitmproxy, ce qui représente actuellement un très petit nombre de serveurs web.

Le bug a été corrigé dans la version 8.0 de mitmproxy, donc il est recommandé aux utilisateurs de cette solution de la mettre à jour à cette dernière.