Sicherheitswarnung

Zwei Lücken, eine Übernahme ohne Login

Die WordPress-Sicherheitslücke wp2shell verkettet zwei Schwachstellen, CVE-2026-60137 und CVE-2026-63030, zu einer vollständigen Übernahme der Website ohne Anmeldung. Betroffen sind die Versionen 6.9.0 bis 6.9.4 sowie 7.0.0 bis 7.0.1. Abgesichert sind 6.8.6, 6.9.5 und 7.0.2, alle drei veröffentlicht am 17. Juli 2026. Wer erst danach aktualisiert hat, sollte zusätzlich auf Spuren eines Angriffs prüfen.

🎯 Das Wichtigste in Kürze

  • Zwei Lücken, eine Kette: wp2shell kombiniert eine SQL-Injection (CVE-2026-60137) mit einer Routen-Verwechslung in der REST-API (CVE-2026-63030).
  • Sicher ab: 6.8.6, 6.9.5 und 7.0.2, alle am 17. Juli 2026 erschienen. Stand: 7. August 2026 — inzwischen sind mit 6.8.7, 6.9.6 und 7.0.3 neuere Sicherheitsreleases erschienen, aktualisieren Sie gleich auf diese.
  • Versionen älter als 6.8 sind nicht betroffen, laut BSI von keiner der beiden Schwachstellen.
  • 6.8.x trifft nur die SQL-Injection, nicht die Angriffskette. Das senkt die Dringlichkeit, hebt sie nicht auf.
  • Update ist keine Entwarnung: Die erzwungenen Auto-Updates von WordPress.org greifen nicht überall. Wer später aktualisiert hat, prüft zusätzlich auf Spuren.

Was ist wp2shell und warum ist die Lücke so kritisch?

wp2shell ist keine einzelne Schwachstelle, sondern die Verkettung von zweien. CVE-2026-60137 bereinigt den Parameter author__not_in bei WP_Query-Abfragen fehlerhaft, sodass sich eigene Datenbank-Befehle einschleusen lassen: eine SQL-Injection. CVE-2026-63030 verwechselt Routen in der REST-API. Erst beide zusammen ergeben Remote Code Execution, also fremden Programmcode auf dem Server, ohne jede Anmeldung.

Diesmal war es der Core selbst. Laut Cybersicherheitswarnung des BSI betrifft der Sachverhalt „das CMS in seiner Standardinstallation selbst und keine einzelnen Plugins oder Themes“. Das BSI stuft die Kritikalität auf 3 von 4 (Orange) ein: Maßnahmen müssen unverzüglich ergriffen werden. Orange ist die zweithöchste von vier Stufen, nicht die höchste.

Einen einheitlichen Schweregrad gibt es nicht: Die Bewertungen der Einzel-Schwachstellen reichen je nach Stelle von mittel bis kritisch. Das BSI bewertet deshalb die Kette als Ganzes, mit einem CVSS-3.1-Score von 9,8. Beide Schwachstellen stehen im CISA-KEV-Katalog der bekannten ausgenutzten Sicherheitslücken, darunter CVE-2026-63030 im NVD. Das BSI bleibt dabei nüchtern: Der eingeschränkte Versionsbereich, verbreitete Web Application Firewalls und aktive automatische Updates senken die Wahrscheinlichkeit einer sehr breiten Angriffswelle.

WordPress-Sicherheitslücke wp2shell: zwei verkettete Schwachstellen ermöglichen die Übernahme ohne Anmeldung
Erst die Verkettung macht wp2shell gefährlich: Zwei einzeln begrenzte Schwachstellen ergeben zusammen eine vollständige Übernahme.

Bin ich betroffen? Diese WordPress-Versionen sind verwundbar

Ihre WordPress-Version Betroffen? Sicher ab Was das bedeutet
älter als 6.8 Nein Von keiner der beiden Schwachstellen betroffen
6.8.0 – 6.8.5 Teilweise 6.8.6 Nur SQL-Injection, keine Angriffskette
6.9.0 – 6.9.4 Ja 6.9.5 Vollständige Kette, Übernahme ohne Anmeldung möglich
7.0.0 – 7.0.1 Ja 7.0.2 Vollständige Kette, Übernahme ohne Anmeldung möglich
7.1 beta Ja 7.1 beta2 Vollständige Kette, betrifft nur Test-Installationen

Verwundbar sind WordPress 6.9.0 bis 6.9.4 sowie 7.0.0 bis 7.0.1, abgesichert sind 6.8.6, 6.9.5 und 7.0.2. Die entscheidende Nuance steht in der zweiten Zeile: WordPress 6.8.x ist nur von der SQL-Injection betroffen, nicht von der vollständigen Angriffskette. Version 6.8.6 schließt CVE-2026-60137; CVE-2026-63030 betrifft 6.8.x nicht. Aus dieser Kette droht bei 6.8.x also keine Fernübernahme des Servers, auslesbar bleiben aber die Passwort-Hashes aus der Tabelle wp_users. Aktualisieren, ja. In Panik verfallen, nein. Versionen älter als WordPress 6.8 sind laut BSI von keiner der beiden Schwachstellen betroffen.

Wie finde ich heraus, welche WordPress-Version ich habe?

Mit Login führt der beste Weg über Dashboard → Aktualisierungen. Dieser Screen zeigt die installierte Version und zugleich, ob automatische Updates greifen. Alternativ steht sie im Widget „Auf einen Blick“ oder unten rechts im Admin-Footer. Ohne Login hilft der Quelltext der Startseite, dort steht die Version im Meta-Tag generator. Wichtig: Viele Sicherheits-Plugins entfernen diese Angabe, und ihr Fehlen ist kein Beweis dafür, dass alles in Ordnung ist. Über genau diese sichtbare Angabe finden Angreifer verwundbare Ziele automatisiert.

Das BSI verweist zusätzlich auf einen Webseiten-Checker von Searchlight Cyber unter der Domain wp2shell.com. Zum Zeitpunkt meiner Recherche wies die Seite allerdings keine sichtbare Datenschutzerklärung aus und legte ihre Prüfmethode nicht offen, deshalb bleibt der Dashboard-Weg der empfohlene.

Was sollten Sie jetzt sofort tun?

Vier Schritte, in dieser Reihenfolge:

  1. Version feststellen: im Dashboard unter Aktualisierungen ablesen, welcher Zweig läuft.
  2. Vorher sichern: Legen Sie ein vollständiges Backup von Dateien und Datenbank an. Wie das geht, zeigt meine Anleitung WordPress-Backup erstellen.
  3. Auf die abgesicherte Version aktualisieren: je nach Zweig mindestens auf 6.8.6, 6.9.5 oder 7.0.2. Damit schließen Sie diese Lücke. Besser gleich auf den aktuellen Stand des Zweigs: 6.8.7, 6.9.6 oder 7.0.3.
  4. Wenn das Update nicht durchläuft: Meist blockiert ein inkompatibles Plugin oder eine veraltete PHP-Version. Finden Sie die Ursache nicht in wenigen Minuten, geben Sie an Ihren Hoster oder Dienstleister ab.

Wer nicht sofort aktualisieren kann, findet beim BSI zwei Workarounds: „Blockieren von Aufrufen zu /wp-json/batch/v1 sowie mit dem Parameter ?rest_route=/batch/v1 mit Hilfe einer Web Application Firewall (WAF)“ und „Die Installation eines Plugins zur Blockierung von Anonymous-Anmeldungen an der REST-API“.

Die Sperre ohne WAF: eine Regel in der .htaccess

Eine gebuchte Web Application Firewall braucht es dafür nicht zwingend. Läuft die Website auf einem Apache-Server, erledigt diese Regel dasselbe für den Batch-Endpunkt. Sie gehört in die .htaccess im Stammverzeichnis, und zwar vor den Block # BEGIN WordPress:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^wp-json/batch/v1 - [F,L]
RewriteCond %{QUERY_STRING} (^|&)rest_route=/?batch/v1 [NC]
RewriteRule ^ - [F,L]
</IfModule>

Der Server beantwortet die beiden Aufrufwege damit mit einem 403, PHP startet gar nicht erst. Vier Punkte gehören dazu: Die Regel wirkt nur auf Apache — läuft die Seite hinter nginx, gehört die Sperre in die Server-Konfiguration. Sie muss oberhalb des WordPress-Blocks stehen, weil der alles Weitere an die index.php übergibt. Der Batch-Endpunkt wird vom Block- und Site-Editor für Sammel-Operationen genutzt, prüfen Sie das Backend nach dem Einbau also einmal kurz. Und eine echte WAF leistet mehr: Sie erkennt auch URL-kodierte Schreibweisen desselben Aufrufs. Diese Regel deckt die zwei Wege ab, die das BSI ausdrücklich benennt.

Das BSI führt den Workaround als Ergänzung zum Update, nicht als Ersatz dafür. Er verschafft Zeit, bis aktualisiert werden kann — mehr nicht.

🔧

Sie wollen das nicht selbst anfassen?

Ich setze die Sperre, ziehe das Update samt Backup nach und kläre, wenn nötig, direkt mit Ihrem Hoster, was auf dem Server passieren muss. Sie müssen dort nicht selbst erklären, worum es geht. Mehr dazu unter Website reparieren lassen.

Warum reicht ein Update allein noch nicht?

WordPress.org hat wegen der Schwere erzwungene Updates über das Auto-Update-System für betroffene Versionen ausgelöst, nachzulesen im Sicherheitsrelease WordPress 7.0.2. Die erzwungenen Auto-Updates greifen jedoch nicht überall: Das BSI benennt deaktivierte automatische Updates und Szenarien, in denen sie an Dateiberechtigungen scheitern. Dazu kommen verwaiste Installationen, die niemand mehr betreut. Betreiber, deren Websites nicht am Tag der Veröffentlichung automatisch aktualisiert wurden, sollten deshalb zusätzlich auf eine bereits stattgefundene Kompromittierung prüfen.

Der Grund liegt in der Zeitachse: Das Sicherheitsupdate erschien am 17. Juli 2026, am Wochenende darauf kursierten öffentliche Machbarkeitsnachweise für die vollständige Kette. Das BSI warnte unmittelbar nach dem Update und aktualisierte die Warnung am 20. Juli 2026, weil die veröffentlichten Machbarkeitsnachweise Angriffe ohne Anmeldung ermöglichten.

⏱️ Waren Sie im Zeitfenster?

Drei Fragen entscheiden, wie dringend Ihr Handlungsbedarf ist: Welcher Versionszweig lief am 17. Juli 2026? Waren automatische Updates aktiv? Wann wurde tatsächlich auf 6.8.6, 6.9.5 oder 7.0.2 aktualisiert?

  • Geringes Restrisiko: 6.9.x oder 7.0.x, Auto-Update hat am 17. Juli gegriffen. Die Lücke war zu, bevor die Machbarkeitsnachweise kursierten. Trotzdem: kurzer Konten-Check.
  • Erhöhtes Risiko: 6.9.x oder 7.0.x, aktualisiert erst am oder nach dem 18./19. Juli. In diesem Fenster waren Machbarkeitsnachweise öffentlich. Die Prüfung im nächsten Abschnitt ist Pflicht.
  • Unklar: Zeitpunkt nicht rekonstruierbar, Auto-Updates deaktiviert oder verwaiste Installation. Wie erhöhtes Risiko behandeln, denn Unklarheit ist kein Entwarnungsgrund.
  • Sonderfall 6.8.x: keine Fernübernahme aus dieser Kette. Die Passwort-Hashes könnten aber ausgelesen worden sein, also Passwörter zurücksetzen.
Zeitfenster der WordPress-Sicherheitslücke wp2shell zwischen Sicherheitsupdate und den ersten Angriffsversuchen
Zwischen dem Sicherheitsupdate und den ersten Angriffsversuchen lagen Stunden, nicht Wochen.

Woran erkennen Sie, ob Ihre Website bereits angegriffen wurde?

Diese vier Punkte können Sie selbst im Dashboard prüfen:

  • ✓ Neue oder unbekannte Administrator-Konten
  • ✓ Administrator-Konten mit Mailadressen auf @wp2shell.invalid oder @wp2shell.shellcode.lol
  • ✓ Benutzernamen mit den Präfixen wp2_ oder w2s_
  • ✓ Plugins, die Sie nie installiert haben

Wichtig dabei: Diese Liste deckt die bekannten Spuren ab, nicht alle denkbaren. Ein unauffälliges Dashboard ist ein gutes Zeichen, aber kein Nachweis. Die folgenden Punkte gehören deshalb in die Hände Ihres Hosters oder Entwicklers:

  • POST-Requests auf /wp-json/batch/v1 in den Server-Logs, laut BSI besonders bei erhöhter Anfragemenge
  • Requests mit dem Parameter ?rest_route=/batch/v1
  • Auffälligkeiten in oembed_cache und customize_changeset
  • Neu erstellte PHP-Dateien seit dem 16. Juli 2026, etwa als getarntes Plugin-Verzeichnis, also eine Backdoor (Eye Security)
  • Ungewöhnliche Shell-Befehle auf dem Server sowie ungewöhnliche ausgehende Verbindungen, beides laut BSI

An die Protokolle kommen Sie über WordPress Error-Logs finden und lesen. Die Sicherheitsfirma Eye Security warnt: Fehlende Log-Einträge sind kein Beweis für Sicherheit, die entscheidenden Schritte laufen im POST-Body.

Bei Verdacht müssen alle Passwörter der Nutzerkonten zurückgesetzt werden, weil die SQL-Injection CVE-2026-60137 sämtliche Passwort-Hashes aus der Tabelle wp_users auslesen kann und diese sich offline knacken lassen. Das BSI empfiehlt zusätzlich, das System zu isolieren, Beweise zu sichern und aktive Sitzungen zu beenden. Der „Compromise Scanner for wp2shell“ von Eye Security im Plugin-Verzeichnis ändert laut den Entwicklern nichts an der Website und behebt die Schwachstelle nicht.

Wird der Verdacht auf Malware konkret: Website gehackt: Malware finden und entfernen, Website aus einem Backup wiederherstellen, kostenlose Malware-Scanner für Websites sowie Google-Blacklist nach einem Hack entfernen. Sind personenbezogene Daten abgeflossen, gehört die Frage nach Meldepflichten zu einem Rechtsanwalt oder Datenschutzbeauftragten.

Was verrät dieser Fall über die Zukunft?

Die Schwachstellenkette wurde von Adam Kues von der Sicherheitsfirma Searchlight Cyber KI-gestützt gefunden. Die vollständige Exploit-Kette entstand in rund zehn Stunden zu Kosten von etwa 25 US-Dollar; das BSI verweist in seiner Warnung ausdrücklich darauf. Zum Vergleich: Exploit-Broker zahlen für eine WordPress-Lücke dieser Art sechsstellige Summen.

Aus meiner Entwicklerperspektive verschiebt das die Rechnung für kleine Unternehmen. Die Zeit zwischen „Lücke bekannt“ und „Lücke ausgenutzt“ schrumpft weiter, und keine manuelle Update-Routine ist schnell genug für dieses Fenster. Automatische Updates aktiviert zu lassen ist deshalb keine Bequemlichkeit mehr, sondern eine der wenigen Maßnahmen, die mit diesem Tempo mithalten. Was darüber hinaus sinnvoll ist, steht im Ratgeber Website-Sicherheit für Unternehmen.

KI-gestützte Suche nach der WordPress-Sicherheitslücke wp2shell im Kern des Content-Management-Systems
Gefunden mit KI-Unterstützung in rund zehn Stunden: Die Zeit zwischen bekannter Lücke und aktivem Angriff schrumpft weiter.

Häufige Fragen zur WordPress-Sicherheitslücke wp2shell

Der sicherste Weg führt über das Dashboard unter Aktualisierungen. Dort steht die installierte Version, und Sie sehen zugleich, ob automatische Updates greifen. Ohne Login zeigt der Quelltext der Startseite das Meta-Tag generator. Diese Angabe kann jedoch von Sicherheits-Plugins entfernt worden sein.
Abgesichert sind WordPress 6.8.6, 6.9.5 und 7.0.2. Alle drei Versionen erschienen am 17. Juli 2026. Welche davon für Sie gilt, hängt von Ihrem Versionszweig ab. Stand 7. August 2026 sind 6.8.7, 6.9.6 und 7.0.3 die aktuellen Stände dieser drei Zweige — aktualisieren Sie gleich auf diese.
WordPress.org hat wegen der Schwere erzwungene Updates über das Auto-Update-System ausgelöst. Viele Websites wurden dadurch automatisch geschlossen. Nicht erreicht wurden Installationen mit deaktivierten automatischen Updates und solche, bei denen das Update an Dateiberechtigungen scheitert.
Nein. Das Update schließt die Lücke, macht einen bereits erfolgten Zugriff aber nicht rückgängig. Wurde Ihre Website nicht am 17. Juli 2026 automatisch aktualisiert, prüfen Sie zusätzlich auf unbekannte Administrator-Konten, fremde Plugins und verdächtige Dateien.
Typische Spuren dieser Angriffskette sind neue oder unbekannte Administrator-Konten, Benutzernamen mit den Präfixen wp2_ oder w2s_, Mailadressen auf @wp2shell.invalid sowie Plugins, die Sie nie installiert haben. Ein unauffälliges Dashboard schließt eine Kompromittierung allerdings nicht aus.
Über die vollständige Kette lässt sich ohne Anmeldung fremder Programmcode auf dem Server ausführen. Angreifer hinterlegen dauerhafte Zugänge in Form einer Webshell und lesen die Passwort-Hashes aller Konten aus der Tabelle wp_users aus, um sie offline zu knacken.

Über den Autor

Sascha Fix ist PHP-Entwickler und SEO-Spezialist aus Witzeeze in Schleswig-Holstein und betreut kleine und mittlere Unternehmen. Für Webentwicklung begeistert er sich seit 1999, hauptberuflich arbeitet er als Cloud-Entwickler in einem IT-Security-Unternehmen. Mehr über mich.

⚠️ Hinweis

Dieser Artikel gibt technische Handlungsempfehlungen und ersetzt keine rechtliche Beratung. Für verbindliche Auskünfte, etwa zu Meldepflichten nach einem Datenabfluss, wenden Sie sich bitte an einen Rechtsanwalt oder Datenschutzbeauftragten.

🛡️

Unsichere Anzeichen gefunden und keine Ahnung, wie es weitergeht?

Wenn Sie unbekannte Administrator-Konten, fremde Plugins oder verdächtige Dateien auf Ihrer WordPress-Website gefunden haben, schaue ich mir das an: Ich prüfe, was tatsächlich passiert ist, bereinige die Installation und arbeite die erkennbaren Einfallstore ab. Ehrlich, ohne Panikmache und ohne Tool-Zwang. Mehr dazu unter Hilfe bei gehackter WordPress-Website.