
Nicht-intrusiver Expositions-Checker für die WordPress-wp2shell-Pre-Auth-RCE-Kette (CVE-2026-63030 / CVE-2026-60137).
Nicht-intrusiver Expositionsprüfer für die WordPress-„wp2shell“-Pre-Authentication-RCE-Kette (CVE-2026-63030 + CVE-2026-60137).
⚠️ Nur für autorisierte Nutzung. Führen Sie dies nur gegen WordPress-Instanzen aus, die Ihnen gehören oder für die Sie eine ausdrückliche Erlaubnis zum Testen haben. Es ist ein Triage-Hilfsmittel, kein Exploit. Das Scannen von Systemen ohne Erlaubnis kann illegal sein.
Ausgehend von einer URL führt wp2shell-check Folgendes aus:
generator-Meta-Tag auf der Startseite (passiv).?rest_route=/batch/v1), um zu prüfen, ob die REST-Batch-Route erreichbar ist.Es ist für ein schnelles Fleet-Triage konzipiert: Welche meiner Seiten laufen auf einer betroffenen Version mit erreichbarem REST?
Zwei verkettete WordPress-Core-Fehler, die mit einem Notfall-Release am 2026-07-17 offengelegt wurden:
| CVE | Typ | Betroffene Versionen |
|---|---|---|
| CVE-2026-63030 | REST-API-Batch-Routen-Verwechslung (RCE-Enabler) | 6.9.0–6.9.4, 7.0.0–7.0.1 |
| CVE-2026-60137 | WP_Query-author__not_in-SQL-Injection | 6.8.0 und später (6.8.0–6.8.5 = nur SQLi-Band) |
Verkettet ermöglichen sie einem nicht authentifizierten Angreifer, eine SQL-Injection zu erreichen und auf einer Standardinstallation zu Remote-Code-Ausführung zu eskalieren — keine Plugins, kein Login. Die RCE-Hälfte gilt nur, wenn ein persistenter Objekt-Cache nicht verwendet wird.
Behoben in: 6.8.6 (nur SQLi), 6.9.5, 7.0.2 (und 7.1 Beta 2+). WordPress hat für betroffene Seiten erzwungene Auto-Updates aktiviert — prüfen Sie, ob das Update tatsächlich angekommen ist.
Gemeldet von Adam Kues (Assetnote / Searchlight Cyber) über WordPress' HackerOne-Programm.
Erfordert Python 3.9+ und requests.
# with uv
uv pip install requests
# or plain pip
pip install requests
python wp2shell.py https://target.example
Beispielausgabe:
https://target.example: VULNERABLE (RCE) [6.9.3]
generator-Tag wird oft entfernt oder gespooft; eine fehlende Version führt zu wordpress not detected, nicht zu einer Garantie, dass die Seite sicher oder kein WordPress ist./wp-json/batch/v1 und ?rest_route=/batch/v1 an Ihrer WAF oder schränken Sie den anonymen Zugriff auf die REST-API ein.Wie besehen bereitgestellt, nur für autorisierte Sicherheitstests und zu Bildungszwecken. Sie sind allein dafür verantwortlich, wie Sie es verwenden.
| Urteil | Bedeutung |
|---|
VULNERABLE (RCE) / VULNERABLE (SQLi) | Betroffene Version und REST-Batch-Route erreichbar → auf einer Standardinstallation exponiert. Siehe Einschränkungen. |
version-affected (...), route unconfirmed | Version liegt in einem betroffenen Bereich, aber die REST-Batch-Route hat nicht wie erwartet geantwortet. |
not affected | WordPress erkannt, Version außerhalb der betroffenen Bereiche. |
wordpress not detected | Keine Version gefunden (REST gesperrt, generator-Tag entfernt oder kein WordPress). |
unreachable | Host hat nicht geantwortet. |