Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
cve-2026-100671-poc — 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. | Kitploit
Tools/GitHubGitHub/canhieu/cve-2026-100671-poc
SchwachstellenanalyseExploitationWebanwendungs-ExploitationSicherheitsvirtualisierungWebsicherheitPenetrationstests
GitHubcanhieu/cve-2026-100671-poc

cve-2026-100671-poc

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.

Repository anzeigen
6vor 2 TagenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

CVE-2026-100671 — Offenlegung des Grav-Twig-Session-Cookies

Minimaler, nur lokal einsetzbarer Verifizierer für die Übernahme der Session über den Grav Content-Twig/Page-Cache, die in Grav 2.0.25 behoben wurde.

Advisories:

  • CVE-2026-100671
  • GHSA-pp89-h475-7gj6
  • Grav 2.0.25 release

Umfang

exploit.py ist bewusst auf Loopback-Ziele beschränkt:

  • 127.0.0.1
  • ::1
  • localhost

Es lehnt Remote-Hosts ab, folgt nur Loopback-Redirects, verwendet HTTP-Clients aus der Python-Standardbibliothek, wendet Request-Timeouts an und gibt niemals Bearer-Tokens, Cookies oder Response-Bodies aus.

Nur gegen eine Grav-Instanz verwenden, die Sie besitzen oder deren Test ausdrücklich autorisiert ist. Das Skript erstellt eine öffentliche Proof-Seite im lokalen Lab. Entfernen Sie diese Seite nach dem Test, wenn das Lab Inhalte zwischen Läufen behält.

Schwachstellenkette

  1. Ein Page-Writer mit geringen Rechten veröffentlicht Inhalte mit sandboxed Twig.
  2. get_cookie() liest serverseitig das Session-Cookie des besuchenden Administrators.
  3. Grav speichert die Page-Ausgabe nach der Twig-Verarbeitung in einem Cache ohne Session-Identität.
  4. Eine nicht authentifizierte Anfrage erhält den gecachten Cookie-Wert.
  5. Das Replay dieses Werts gegen die lokale API authentifiziert als der Administrator.

Das Page-Write-Konto benötigt nur den dokumentierten Low-Privilege-Write-Pfad. Es benötigt kein api.pages.read, kein admin.* und keinen Super-Admin-Zugriff. Der Opfer-Admin muss die öffentliche Seite nur einmal besuchen.

Betroffene Versionen

  • Grav 2.0.19 bis 2.0.24: anfällig mit der mitgelieferten Standard-Content-Twig-Konfiguration.
  • Grav 2.0.0 bis 2.0.18 und 1.7.x: nur betroffen, wenn Content-Twig explizit aktiviert wurde.
  • Grav 2.0.25: behoben.

Lab-Anforderungen

Betreiben Sie ein lokales Grav-Lab mit:

  • aktiviertem Grav-API-Plugin;
  • aktiviertem Grav-Login-Plugin;
  • einem Low-Privilege-Writer-Konto, das ein API-Token erhalten und Seiten erstellen kann;
  • einem Administrator-Konto;
  • einer öffentlich lesbaren Ziel-Page-Route.

Dieses Zwei-Datei-Repository stellt Grav, PHP, Plugins oder Konten nicht bereit.

Ausführung

Legen Sie die Zugangsdaten über Umgebungsvariablen fest, damit sie nie in die Versionskontrolle gelangen:

export GRAV_BASE_URL=http://127.0.0.1:8080
export GRAV_WRITER_USERNAME=low
export GRAV_WRITER_PASSWORD='local-writer-password'
export GRAV_ADMIN_USERNAME=admin
export GRAV_ADMIN_PASSWORD='local-admin-password'

python3 exploit.py

Die Basis-URL muss Loopback bleiben. Die Standard-Route ist zufällig. Eine feste Route kann gewählt werden, wenn Läufe verglichen werden sollen:

python3 exploit.py --route /cookie-proof-24

Erwartetes anfälliges Ergebnis:

page_create_status=201
admin_login_status=200
victim_page_status=200
attacker_page_status=200
cached_victim_cookie_visible_to_attacker=yes
admin_cookie_value_match=yes
replayed_cookie_api_status=200
result=VULNERABLE

Der Befehl beendet sich mit 0, wenn das erwartete Ergebnis reproduziert wird, mit 1, wenn es nicht reproduziert wird, und mit 2 bei einem Setup- oder Transportfehler.

Prüfung der behobenen Version

Führen Sie denselben Befehl gegen Grav 2.0.25 aus:

python3 exploit.py --expect fixed

Erwartetes behobenes Verhalten: kein für den Angreifer sichtbarer Session-Wert und kein erfolgreiches Session-Replay. Ein sauberes behobenes Ergebnis beendet sich mit 0 bei --expect fixed.

Behebung

Aktualisieren Sie auf Grav 2.0.25 oder später. Für ältere Deployments listet das Advisory diese temporären Maßnahmen auf:

  • Content-Twig deaktivieren mit security.twig_content.process_enabled: false; oder
  • system.pages.never_cache_twig: true setzen;
  • bestehende Grav-Caches leeren;
  • Administrator-Sessions rotieren.

Behandeln Sie HttpOnly, Secure oder SameSite nicht als Behebung: Das anfällige Cookie-Auslesen erfolgt serverseitig während des Twig-Renderings.

Offenlegung

Gemeldet von canhieu. Dieses Repository ist eine Reproduktionshilfe für das bereits öffentliche Advisory, kein Remote-Scanner und kein Tool zum Ernten von Zugangsdaten.

Tool herunterladen