Vigil@nce : Squid, déni de service via virgule
août 2009 par Vigil@nce
Lorsque Squid est configuré pour utiliser une ACL externe, un
attaquant peut employer une virgule pour provoquer une boucle
infinie.
Gravité : 2/4
Conséquences : déni de service du service
Provenance : client intranet
Moyen d’attaque : aucun démonstrateur, aucune attaque
Compétence de l’attaquant : expert (4/4)
Confiance : confirmé par l’éditeur (5/5)
Diffusion de la configuration vulnérable : moyenne (2/3)
Date création : 19/08/2009
PRODUITS CONCERNÉS
– Squid cache
DESCRIPTION DE LA VULNÉRABILITÉ
La directive de configuration external_acl_type indique un
programme externe pour gérer les accès. Par exemple :
external_acl_type mon_auth %Cookie :... /bin/mon_prog
Le deuxième paramètre indique les éléments associés (comme les
cookies dans cet exemple).
La fonction strListGetItem() du fichier HttpHeaderTools.c (version
2.x) ou HttpHeaderTools.cc (version 3.x) est utilisée pour scinder
les éléments associés. Par exemple, cookie doit être scindé en
Path, Expires et Max-Age :
Cookie : ... Path= ; Expires=Wed, 31-Dec-97 23:59:59 GMT ; Max-Age=0
Cependant, le caractère virgule est incorrectement traité comme un
séparateur de champ. La virgule située dans le champ date provoque
alors une boucle infinie.
Lorsque Squid est configuré pour utiliser une ACL externe, un
attaquant peut donc employer une virgule pour mener un déni de
service.
CARACTÉRISTIQUES
Références : 2704, 534982, BID-36091, CVE-2009-2855,
VIGILANCE-VUL-8959
http://vigilance.fr/vulnerabilite/Squid-deni-de-service-via-virgule-8959