Accueil / Blog / Métier / 2018 / Sécurité HTTP : Apache Traffic Server - Contrebande de HTTP

Sécurité HTTP : Apache Traffic Server - Contrebande de HTTP

Par Régis Leroy — publié 10/09/2018
Plusieurs correctifs de sécurité viennent d'êtres appliqués dans les version 6 et 7 de Apache Traffic Server (ATS). Ces correctifs viennent corriger des failles découvertes grâce à nos recherches sur la contrebande HTTP.
Sécurité HTTP : Apache Traffic Server - Contrebande de HTTP

On retrouve l'ensemble de ces correctifs sous une CVE unique CVE-2018-8004. L'annonce à été faite le 28 Août 2018.

L'annonce en elle-même est assez succincte :

There are multiple HTTP smuggling and cache poisoning issues when clients making malicious requests interact with ATS.

Que l'on pourrait traduire en Il y a de multiples problèmes de contrebande de HTTP et d’empoisonnement de cache quand des clients utilisant des requêtes malignes interagissent avec ATS.

ATS, ou Apache Traffic Server est un projet géré par la fondation Apache, mais il ne s'agit pas du serveur Apache httpd que la plupart des gens connaissent. ATS est plus une solution de load balancing et de Reverse proxy Cache, utilisé sur certains gros sites. On retrouvera par exemple ATS sur presque toutes les solutions utilisée par Yahoo, car à la base c'était un projet géré par Yahoo. On retrouve d'autres grands noms comme Linkedin ou Akamai.

Par nature (HTTP Smuggling/Cache poisoning) ce type de faille est assez sévère, puisque c'est justement le coeur de métier de ces briques que de servir de cache et de reverse proxy.

On peut retrouver une partie des ces failles corrigées dans les fichiers CHANGELOG :

Changes with Apache Traffic Server 7.1.3
(...)
  #3192 - Return 400 if there is whitespace after the field name and before the colon
  #3201 - Close the connection when returning a 400 error response
  #3231 - Validate Content-Length headers for incoming requests
  #3277 - Drain the request body if there is a cache hit.  Only drain if the
  #3413 - Fixes a case on chunked cached objects, 304s and Ranges
(...)

Changes with Apache Traffic Server 6.2.3
(...)
  #2561 - Fix possibility of NULL assignment to std::string
  #3976 - Return 400 if there is whitespace after the field name and before the colon
  #3978 - Close the connection when returning a 400 error response
  #3980 - Respond with 400 code when Content-Length headers mismatch, remove
  #3981 - Drain the request body if there is a cache hit.  Only drain if the
(...)

Pour le détail des exploitations de ces failles il vous faudra attendre quelque peu. Nous publierons prochainement un article beaucoup plus technique sur les impacts réels de ces failles.

En attendant, si vous voyez des serveurs ATS quelque part, surtout s'ils sont posés dans votre infra, devant vos sites webs, assurez-vous que les mises à jour soient faites (Et si vous voyez un ATS version 5, ou plus ancien encore, ils sont très certainement aussi impactés, mais ne bénéficient plus de mises à jour)..

ABONNEZ-VOUS À LA NEWSLETTER !
Voir aussi
Contrebande de HTTP (Smuggling): Load Balancer Apsis Pound Contrebande de HTTP (Smuggling): Load Balancer Apsis Pound 03/07/2018

Détails de la faille CVE-2016-10711 (faille publiée en février 2018)

Sécurité Web: Utiliser du mauvais HTML pour s'évader d'un DIV 22/06/2016

Cassez une mise en page HTML avec du mauvais HTML et l'aide des navigateurs.

Bien débuter avec Nginx Bien débuter avec Nginx 03/12/2015

Vous avez longtemps été un utilisateur plus ou moins averti de Apache HTTP Server et vous voulez ...

Introduction à la sécurité Web 23/06/2014

Une présentation "Introduction à la sécurité à l'attention des futurs développeurs web" ...

Débordement d'entiers dans Nginx (fixé en 1.7.11) Débordement d'entiers dans Nginx (fixé en 1.7.11) 27/03/2015

La nouvelle version 1.7.11 du serveur HTTP nginx fixe un bug de débordement d'entiers. voici la ...