CVE-2026-100671
Grav vor 2.0.25 Session-Cookie-Diebstahl über Twig Sandbox
- Veröffentlicht
- 26.09.2026
- Aktualisiert
- 26.09.2026
- CNA zuweisen
- VulnCheck
- Beweise beobachtet
- 03.10.2026
Primäres CVSS
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:XZusammenfassung
Grav ist ein Flat-File-CMS. In den Versionen 2.0.19 bis 2.0.24 – und in 2.0.0 bis 2.0.18 sowie 1.7.x nur dort, wo Content-Twig explizit aktiviert wurde – wird Seiteninhalt, der von einem Benutzer mit ausschließlich Schreibberechtigung für Seiten erstellt wurde, durch eine Twig-Sandbox gerendert, die get_cookie() auf die Allowlist setzt. Diese Funktion gibt jedes Cookie zurück, das mit der aktuellen Anfrage gesendet wurde, einschließlich des Session-Cookies des Besuchers. Da das Auslesen serverseitig über filter_input(INPUT_COOKIE, ...) erfolgt, bieten die Attribute HttpOnly, Secure und SameSite keinen Schutz. Grav speichert dann die fertige Post-Twig-Ausgabe in einem Seiteninhalt-Cache, der nur auf Seitenidentität und Konfigurationsprüfsumme basiert, ohne Session-, Benutzer- oder Anfragedimension und ohne Bypass für authentifizierte Besucher. Eine von einem Seiten-Schreibbenutzer veröffentlichte Seite kann daher die Session-ID des nächsten Administrators erfassen, der sie ansieht. Danach liefert die gecachte Ausgabe diese ID an nicht authentifizierte Besucher aus, die das Cookie wiederverwenden können, um sich als dieser Administrator zu authentifizieren. Seit 2.0.19 ist security.twig_content.process_enabled standardmäßig auf true gesetzt, und Security::applyTwigContentDefault() leitet das process.twig-Flag jeder Seite von diesem Gate ab, sodass Content-Twig auf jeder Seite ohne Frontmatter- oder Betreiberaktion ausgeführt wird. Behoben in 2.0.25; 1.7.x liegt außerhalb des Backport-Umfangs.
Quellen
Lokaler Proof-of-Concept-Verifier für CVE-2026-100671, der die Offenlegung und Wiederverwendung von Grav-Twig-Seitencache-Session-Cookies gegen Loopback-Ziele reproduziert.
Verantwortungsvoller Umgang
Verwenden Sie Schwachstelleninformationen nur auf Systemen, die Sie besitzen oder zu deren Testen Sie berechtigt sind. Kitploit verlinkt auf öffentliche Forschungsmetadaten und speichert keinen Exploit-Code oder bösartige Payloads.