
Nicht authentifizierter RCE im WordPress Core (CVE-2026-63030, CVE-2026-60137)
__ ______ ____ ____ _ _ _____ _ _ \ \ / / _ \___ \/ ___|| | | | ____| | | | \ \ /\ / /| |_) |__) \___ \| |_| | _| | | | | \ V V / | __// __/ ___) | _ | |___| |___| |___ \_/\_/ |_| |_____|____/|_| |_|_____|_____|_____|wp2shell-checker | WordPress Batch API Desync Detector
Checker-Detektor für die Pre-Auth-RCE in der WordPress Core REST Batch API
Erstellt von 0xjessie21 — Cybersecurity ILCS
| Signatur | wp2shell / WP Core REST Batch API Desync |
| Schweregrad | 9.8 KRITISCH — AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| Betroffene Versionen | WordPress 6.9.0-6.9.4 und 7.0.0-7.0.1 |
| Behoben in | 6.9.5, 7.0.2 |
| Voraussetzungen | Keine — ohne Authentifizierung, keine Plugins, Standardkonfiguration |
| Modus | Nicht-destruktiv / Nur-Lese-Probe |
Screenshot des Tools, das eine verwundbare WordPress-Instanz in einem autorisierten internen VAPT-Einsatz erkennt.

Dieses Tool ist ausschließlich für autorisierte Sicherheitstests und defensive Verifikationszwecke bestimmt.
| Verwenden Sie es nur gegen WordPress-Instanzen, die Ihnen gehören oder für die Sie eine ausdrückliche schriftliche Genehmigung zum Testen haben (z. B. ein genehmigter interner VAPT-Umfang). | |
Diese Probe ist als nicht-destruktiv konzipiert — sie zielt auf eine nicht existierende Kategorie-ID (0) und stoppt auf der Berechtigungsprüfungsebene, sodass niemals Daten erstellt, geändert oder gelöscht werden. | |
| Ändern Sie das Payload nicht (z. B. die Kategorie-ID in eine reale ändern oder auf andere REST-Routen richten), um eine tatsächliche Ausnutzung zu versuchen. Dadurch wird aus einem Detektor ein einsatzbereiter Exploit — wofür dieses Tool ausdrücklich nicht gebaut ist und was es nicht unterstützt. | |
| Veröffentlichen, verbreiten oder ausführen Sie dieses Tool nicht gegen Systeme außerhalb Ihres autorisierten Umfangs. Nicht autorisierte Nutzung gegen Systeme Dritter kann gegen das ITE-Gesetz (UU ITE) in Indonesien und entsprechende Gesetze gegen Computerfehlgebrauch in anderen Ländern verstoßen. | |
| Bereitgestellt wie besehen, ohne Gewährleistung. Der Autor und alle verbundenen Organisationen übernehmen keine Haftung für Missbrauch, Schäden oder rechtliche Konsequenzen, die sich aus der Nutzung dieses Tools ergeben. |
Mit der Nutzung dieses Tools erklären Sie sich damit einverstanden, dass Sie allein dafür verantwortlich sind, dass Ihre Nutzung dem geltenden Recht und den Autorisierungsrichtlinien Ihrer Organisation entspricht.
Die Core REST Batch API von WordPress (/wp-json/batch/v1) hält drei parallele Arrays beim Auflösen eines Stapels von Unteranfragen synchron. Eine absichtlich fehlerhaft formatierte Unteranfrage desynchronisiert sie — wodurch jede nachfolgende Unteranfrage mit dem falschen Handler und Berechtigungs-Callback verarbeitet wird.
Dieses Tool sendet eine einzelne präparierte Batch-Anfrage und prüft nur die Antwortcodes, ohne jemals eine zustandsändernde Operation auszulösen.
| # | Unteranfrage | Zweck |
|---|---|---|
| 0 | POST http://: | Absichtlich fehlerhaft — löst die Index-Desynchronisierung aus |
| 1 | DELETE /wp/v2/categories/0 | Sicherer Sensor — Kategorie-ID 0 existiert nie |
| 2 | POST /wp/v2/block-renderer/core/paragraph | Referenz-Handler zur Erkennung des Lecks |
Bewertungslogik
| Ergebnis | Bewertung |
|---|---|
block_cannot_read | VERWUNDBAR — Berechtigungsprüfung aus dem Block-Renderer-Handler ausgelesen |
rest_term_invalid | GEPATCHT — Kategorien-Handler hat korrekt geantwortet |
| kein Marker gefunden | UNKLAR — WAF, API deaktiviert oder kein WordPress |
Zusätzlich führt das Tool ein passives WAF/CDN-Fingerprinting anhand der Antwort-Header durch:
Cloudflare · Sucuri · Akamai · AWS CloudFront · Imperva · Fastly · F5 BIG-IP · Wordfence
# Grundlegender Scan
./wp2shell_checker.py https://ihre-site.com
# Mehrere Ziele in einem Lauf
./wp2shell_checker.py https://site1.com https://site2.com https://site3.com
# Benutzerdefiniertes Timeout
./wp2shell_checker.py https://ihre-site.com --timeout 20
# Vollständige rohe Anfrage/Antwort anzeigen (Payload, Header, Body)
./wp2shell_checker.py https://ihre-site.com --raw
# Farben/Animation deaktivieren (für Logging in eine Datei)
./wp2shell_checker.py https://ihre-site.com --no-color > scan_report.txt
Alle Flags
| Flag | Beschreibung |
|---|---|
targets | Eine oder mehrere Basis-URLs zum Scannen (erforderlich) |
--timeout N | Anfrage-Timeout in Sekunden (Standard: 10) |
--no-color | ANSI-Farben und Scan-Animation deaktivieren |
--raw | Vollständige rohe Anfrage/Antwort-Payload und Header ausgeben |
Wenn ein Ziel als VERWUNDBAR zurückgemeldet wird:
7.0.2 (oder 6.9.5 im 6.9-Zweig). Bestätigen, dass das Update tatsächlich angewendet wurde./wp-json/batch/v1 und ?rest_route=/batch/v1 an der WAF/dem Reverse-Proxy blockieren — beide Formen müssen blockiert werden.| wp2shell.com | ursprünglicher Checker & Advisory, Searchlight Cyber |
| Hadrian Security — Technische Analyse | Root-Cause-Analyse |
Dieses Projekt ist unter der MIT-Lizenz lizenziert — siehe die Datei LICENSE für Details.
Cybersecurity ILCS · für interne defensive Nutzung entwickelt