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
PostgreSQL
20/07/2021

Accéder à sa base de données PostgreSQL depuis QGis ou pgAdmin de manière sécurisée

Comment interconnecter ses outils de travail sans mettre en péril la sécurité du système informatique ? L’objectif de cet article est de présenter une manière sécurisée de connecter QGis ou pgAdmin à une base de données PostgreSQL, afin d’atteindre le meilleur compromis entre praticité et sécurité.

Voir l'article
Image
SIG_tuiles_vecto
03/07/2020

Web mapping : comparaison des serveurs de tuiles vectorielles depuis Postgres / PostGIS

Un ensemble de serveurs de tuiles vectorielles basés sur la fonction ST_AsMVT() de PostGIS sont disponibles. Makina Corpus vous propose un tour d’horizon des spécificités des différentes solutions.

Voir l'article
Image
PostgreSQL_vignette
28/01/2020

Paralléliser des requêtes avec PostgreSQL

PostgreSQL permet de découper les requêtes pour en exécuter des parties en parallèle. Il faut toutefois en connaître les concepts pour pouvoir en bénéficier au mieux et ne pas empêcher le planificateur de requêtes de le faire.

Voir l'article

Inscription à la newsletter

Nous vous avons convaincus