CVE-2026-100671
Grav avant 2.0.25 Vol de cookie de session via Twig Sandbox
- Publié
- 26 sept. 2026
- Mise à jour
- 26 sept. 2026
- Attribution de CNA
- VulnCheck
- Preuve observée
- 3 oct. 2026
CVSS primaire
nvd · CVSS 4.0
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:XRésumé
Grav est un CMS à fichiers plats. Dans les versions 2.0.19 à 2.0.24 — et dans les versions 2.0.0 à 2.0.18 et 1.7.x uniquement lorsque le contenu Twig a été explicitement activé — le contenu de page rédigé par un utilisateur ne disposant que de la permission d'écriture de page est rendu via un bac à sable Twig qui autorise get_cookie(), qui renvoie tout cookie envoyé avec la requête en cours, y compris le cookie de session du visiteur. Comme la lecture s'effectue côté serveur via filter_input(INPUT_COOKIE, ...), les attributs HttpOnly, Secure et SameSite n'offrent aucune protection. Grav stocke ensuite la sortie finale post-Twig dans un cache de contenu de page indexé uniquement sur l'identité de la page et la somme de contrôle de la configuration, sans dimension de session, d'utilisateur ou de requête et sans contournement pour les visiteurs authentifiés. Une page publiée par un utilisateur disposant de la permission d'écriture de page peut donc capturer l'identifiant de session du prochain administrateur qui la consulte, après quoi la sortie mise en cache sert cet identifiant aux visiteurs non authentifiés, qui peuvent rejouer le cookie pour s'authentifier en tant que cet administrateur. Depuis 2.0.19, security.twig_content.process_enabled est défini par défaut sur true et Security::applyTwigContentDefault() dérive l'indicateur process.twig de chaque page à partir de ce paramètre, de sorte que le contenu Twig s'exécute sur chaque page sans action de frontmatter ni de l'opérateur. Corrigé dans 2.0.25 ; 1.7.x est hors du périmètre de rétroportage.
Sources
Vérificateur de preuve de concept local uniquement pour CVE-2026-100671, reproduisant la divulgation et le rejeu du cookie de session du cache de pages Twig de Grav contre des cibles loopback.
Utilisation responsable
Utilisez les informations de vulnérabilité uniquement sur les systèmes que vous possédez ou que vous êtes autorisé à tester. Kitploit renvoie aux métadonnées de la recherche publique et ne stocke pas de code d'exploitation ni de charges utiles malveillantes.