Makina Blog

Le blog Makina-corpus

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


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.

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)..

Actualités en lien

Image
Encart Article Eco-conception
25/04/2023

Comment compresser son code applicatif de manière efficace avec Nginx et Brotli ?

Dans cet article, nous allons mettre en place un algorithme de compression des données textuelles plus efficace, que celui utilisé habituellement, pour réduire le poids d'une page web.

Voir l'article
Image
Audit sécurité web site Drupal compromis
17/01/2023

Exemple d'audit de sécurité d'un site Drupal compromis

Les actions et découvertes effectuées lors d'un audit de sécurité d'un site Drupal compromis par une faille de sécurité.

Voir l'article
Image
Visuel Keycloak
21/06/2022

SSO Keycloak : Ajouter un contrôle d'accès au niveau des flux d'authentification

Découvrez ici comment ajouter un contrôle d'accès grâce au SSO Keycloak
 

Voir l'article

Inscription à la newsletter

Nous vous avons convaincus