CyberGlossary

Vulnérabilités

Empoisonnement de cache

Aussi appelé: Empoisonnement de cache web, Empoisonnement de réponses

Définition

Attaque qui stocke une réponse malveillante dans un cache partagé pour que d'autres utilisateurs reçoivent ensuite le contenu de l'attaquant.

L'empoisonnement de cache exploite une couche de cache — CDN, reverse proxy, navigateur ou résolveur DNS — pour qu'elle persiste un contenu contrôlé par l'attaquant. Le web cache poisoning utilise typiquement des entrées non clé (unkeyed) : un en-tête ou un paramètre qui influence la réponse sans figurer dans la clé de cache, si bien que la réponse empoisonnée est servie aux visiteurs suivants. Variantes : empoisonnement DNS, cache applicatif, cache deception. L'impact va du defacement et de la diffusion de XSS jusqu'au vol d'identifiants et au contournement d'authentification. Défenses : inclure les entrées pertinentes dans la clé de cache, normaliser les requêtes en bordure, restreindre les types de contenu mis en cache, auditer Vary et Cache-Control.

Exemples

  • Empoisonner une CDN en envoyant un X-Forwarded-Host que l'application réfléchit dans une balise script.
  • Mettre en cache un 302 dont l'en-tête Location est contrôlé par l'attaquant pour tous les visiteurs.

Termes liés