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-87902 — Scannt WordPress Core 4.7.0–7.1.1 auf CVE-2026-87902, unauthnentifizierte LFI über doppelt kodierte pagename-Traversierung, mit optionaler PEAR config-create RCE-Eskalation und Massenscanning. | Kitploit
Tools/GitHubGitHub/langz337/cve-2026-87902
AufklärungSchwachstellenscannerWeb-SchwachstellenscannerExploitationWebanwendungs-ExploitationInformationsbeschaffungWebsicherheitPenetrationstestsRemote-Access-Tool
GitHublangz337/cve-2026-87902

CVE-2026-87902

Scannt WordPress Core 4.7.0–7.1.1 auf CVE-2026-87902, unauthnentifizierte LFI über doppelt kodierte pagename-Traversierung, mit optionaler PEAR config-create RCE-Eskalation und Massenscanning.

1vor 1 MonatNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Repository anzeigen
Teilen

CVE-2026-87902 — WordPress Core Nicht authentifizierte lokale Dateieinbindung (LFI → Bedingte RCE)

WordPress Core get_page_template() / locate_template() Path-Traversal-Exploit-Tool

Nur für autorisierte Sicherheitstests. Unbefugter Zugriff auf Computersysteme ist illegal.


Schwachstellenübersicht

ElementDetails
CVE-IDCVE-2026-87902
GHSA-IDGHSA-7hp8-65ch-5whp
SchwachstellentypCWE-98 — Unsachgemäße Kontrolle des Dateinamens für Include/Require
CVSS v3.18.1 (Hoch) / CVSS 4.0: 9.2 (Kritisch)
Betroffene KomponenteWordPress Core
Betroffene Versionen4.7.0 bis 7.1.1 (alle Zweige)
Behobene Versionen7.1.2 (und Backports bis hinunter zu 4.7.37)
Erforderliche AuthentifizierungKeine (Nicht authentifiziert)
AngriffsvektorEinzelne GET-Anfrage
Entdeckt vonRobert Ressl (über das WordPress-HackerOne-Programm)
Veröffentlichungsdatum22. September 2026
In freier Wildbahn ausgenutztJa — im CISA-KEV-Katalog aufgeführt

CVE-2026-87902 ist eine nicht authentifizierte Path-Traversal- und lokale Dateieinbindungsschwachstelle (LFI) im WordPress Core, die jede seit 2016 veröffentlichte WordPress-Version (4.7.0 bis 7.1.1) betrifft. Ein Angreifer benötigt kein Konto und keine Authentifizierung. Durch die Erstellung eines bösartigen pagename-Abfrageparameters kann der Angreifer bewirken, dass der Seitentemplate-Auflösungsmechanismus von WordPress eine beliebige lesbare .php-Datei außerhalb des Verzeichnisses des aktiven Themes einbindet. Unter bestimmten Serverbedingungen (PHP register_argc_argv = On und eine lesbare pearcmd.php) kann die Schwachstelle zur Remote-Code-Ausführung (RCE) eskaliert werden.


Betroffene Versionen

ZweigBehobene Version
4.7.x4.7.37
5.0.x5.0.29
5.3.x5.3.25
5.9.x5.9.18
6.0.x6.0.16
6.6.x6.6.9
6.9.x6.9.9
7.0.x7.0.6
7.1.x7.1.2

Technische Details

Ursache

Die Schwachstelle liegt in get_page_template() in wp-includes/template.php. Wenn die Abfragevariable pagename vorhanden ist, konstruiert die Funktion page-{$pagename}.php, versäumt es jedoch, validate_file() auf diesen Wert aufzurufen, um auf Directory Traversal zu prüfen. Der Kandidatendateiname wird dann an locate_template() übergeben, das ihn mit dem Pfad des Theme-Verzeichnisses verkettet und nur file_exists() prüft — es wird nicht verifiziert, ob der aufgelöste Pfad innerhalb des Theme-Verzeichnisses bleibt. Ein Templatename, der ../ enthält, kann daher zu einer lesbaren PHP-Datei außerhalb des aktiven Themes aufgelöst und eingebunden und ausgeführt werden.

Aufrufkette

GET /?page_id=<veröffentlichte Seite>&pagename= → WP_Query löst page_id auf, gleicht eine veröffentlichte Seite ab (vermeidet 404) → get_page_template() urldecode()t pagename, erstellt page-{$pagename}.php → locate_template() verkettet den Kandidaten mit dem Theme-Verzeichnis, löst via file_exists() auf → template-loader führt realpath() + include aus

Umgehung durch Doppelkodierung

WordPress wendet sanitize_title_for_query() auf pagename an, wodurch literale Punkte (.) durch Bindestriche (-) ersetzt werden, um Traversal zu blockieren. Die Funktion arbeitet auf bereits einmal dekodierter Eingabe und dekodiert nicht rekursiv. Der Angreifer sendet %252e%252e%252f (doppelt kodiertes ../):

  1. Der Webserver dekodiert einmal: %252e → %2e, %252f → %2f
  2. sanitize_title_for_query() sieht %2e%2e%2f (keine literalen Punkte) und lässt es durch
  3. get_page_template() ruft intern erneut urldecode() auf: %2e%2e%2f → ../
  4. Die Traversal-Sequenz wird wirksam

Ausnutzungsvoraussetzungen

  1. Das aktive Theme (Parent oder Child) enthält ein Verzeichnis auf oberster Ebene, das mit page- beginnt (z. B. page-templates/).
  2. Mindestens eine veröffentlichte Seite existiert, deren ID als page_id angegeben werden kann.
  3. Die Zieldatei muss auf .php enden (WordPress hängt die Erweiterung an).

Hinweis zu Windows-Hosts: Win32 normalisiert .. lexikalisch, sodass Traversal möglicherweise auch dann funktioniert, wenn das page--Verzeichnis nicht existiert. Unter Linux muss dieses Verzeichnis tatsächlich existieren.

PEAR-RCE-Eskalation

Bedingungen:

  • PHP register_argc_argv ist auf On gesetzt
  • Eine lesbare pearcmd.php existiert auf dem Server

Der Angreifer bindet pearcmd.php über LFI ein und missbraucht dessen config-create-Befehl, um eine PHP-Datei auf dem Server zu schreiben, und bindet diese Datei dann erneut über LFI ein, um beliebige Befehle auszuführen.


CVE-Ursprung & Offenlegung

Entdecker

CVE-2026-87902 wurde von Robert Ressl entdeckt und gemeldet, einem in der Schweiz ansässigen Sicherheitsforscher.

Offenlegungsprozess

Gemeldet über das WordPress-HackerOne-Programm im Juli 2026. Das WordPress-Sicherheitsteam koordinierte den Fix und veröffentlichte ihn zusammen mit WordPress 7.1.2 am 22. September 2026.

Offenlegungs-Zeitplan

DatumEreignis
Juli 2026Robert Ressl meldet die Schwachstelle über das WordPress-HackerOne-Programm
22. September 2026WordPress 7.1.2 mit dem Fix veröffentlicht; Advisory publiziert
22. September 2026Sicherheits-Backports für die Zweige 7.0 bis 4.7 veröffentlicht
23. September 2026Angreifer beginnen, anfällige Websites zu sondieren
25. September 2026CISA nimmt CVE-2026-87902 in den KEV-Katalog auf

Tool-Funktionen

FunktionBeschreibung
Versions-FingerprintingIdentifiziert die WordPress-Version über Meta-Generator, RSS-Feed, OPML, readme.html, Asset-?ver=
Intelligentes Versions-UrteilNutzt eine Zuordnung fester Versionen, um festzustellen, ob das Ziel im betroffenen Bereich liegt
Theme-ErkennungExtrahiert den Slug des aktiven Themes, erkennt das Parent-Theme, entdeckt page-*-Verzeichnisse
Seiten-ID-ErkennungFindet gültige Seiten-IDs über REST API, page-id--Body-Klasse, Shortlinks
LFI-Oracle-ValidierungVerwendet sichere Dateien wie wp-links-opml.php und wp-trackback.php als Orakel mit Negativkontrollen
Doppelt kodierte TraversierungKodiert / und . automatisch doppelt prozentual, um sanitize_title_for_query() zu umgehen
PEAR-RCE-AusnutzungProbiert gängige PEAR-Pfade, schreibt und führt Marker-Dateien über config-create aus
Massen-ScanningMehrthreadiges gleichzeitiges Scannen von Ziellisten
ErgebnisausgabeSpeichert Ergebnisse in vuln_lfi.txt und vuln_lfitorce.txt

Anforderungen

  • Python 3.10+
  • requests-Bibliothek

pip install requests


Verwendung

Start

python3 CVE-2026-87902.py

Interaktives Menü:

[1] Single Scan LFI [2] Single Scan LFI + RCE [3] Mass Scan LFI [4] Mass Scan LFI + RCE [5] Exit

Einzelziel-Scan (nur LFI)

Wählen Sie [1], geben Sie die Ziel-URL ein:

url > https://target.example.com

Einzelziel-Scan (LFI + RCE)

Wählen Sie [2], geben Sie URL und Befehl ein (Standard id):

url > https://target.example.com cmd > id

Massen-Scanning

Wählen Sie [3] oder [4], geben Sie die Datei mit den Ziel-URLs ein (eine pro Zeile, # für Kommentare):

file > targets.txt

Ausgabedateien

DateiInhalt
vuln_lfi.txtBestätigte LFI-Ziele
vuln_lfitorce.txtErfolgreiche RCE-Ziele

Konfiguration

TIMEOUT = 8 # Request timeout (seconds) THREADS = 200 # Concurrent threads for mass scanning USE_ALL_ORACLES = False # Use all oracles (more accurate but slower)


Behebung

Tool herunterladen