Une vulnérabilité identifiée dans le traitement des réponses HTTP et ESI permet de provoquer un déni de service dans Squid

Squid est un proxy Web libre (sous licence GNU GPL) prenant en charge les protocoles HTTP, HTTPS et FTP.  Ce produit est vulnérable à un déni de service en raison d'une gestion incorrecte des pointeurs lors du traitement des réponses ESI (Electronically Stored Information) ou lors du téléchargement de certificats d’autorités de certification intermédiaires. 

Ces vulnérabilités permettent à un client distant de provoquer le déni de service de tous les clients accédant au service Squid en fournissant :

  • Certaines requêtes HTTP en conjonction avec certaines réponses de serveur approuvées
  • Une certaine syntaxe de réponse ESI
Informations
+

Impact

  • Déni de service

Existence d’un code d’exploitation de la vulnérabilité

  • Non, aucun code permettant l’exploitation de la vulnérabilité n’est connu publiquement à ce jour.

Composants & versions vulnérables

  • Squid 3.x -> 3.5.27
  • Squid 4.x -> 4.0.22

Recommandations
+

Correctifs

  • Ce bug est corrigé par la version Squid 4.0.23. 
  • Des patchs corrigeant ces vulnérabilités peuvent être trouvés dans les archives de patch de Squid : 

Squid 3.5: 

Squid 4: 

Solution de contournement

  • Désactiver le traitement des réponses ESI avec l'option "--disable-esi" dans le fichier squid.conf
  • Utiliser les parser "libxml2" ou "expat" avec respectivement l'option "--enable-esi --with-libxml2" ou "--enable-esi --with- expat" dans le fichier squid.conf
  • Désactiver l’utilisation l'adresse indirecte des clients dans la journalisation des accès avec l'option "log_uses_indirect_client off" dans le fichier squid.conf.