WordPress CVE-2026-87902: Path Traversal in get_page_template() wird binnen Stunden nach Patch aktiv ausgenutzt (CVSS 9.2)
WordPress hat am 22. September 2026 Version 7.1.2 veröffentlicht und damit CVE-2026-87902 behoben (CVSS 9.2, kritisch). Die Funktion get_page_template() erlaubt einen Path Traversal, mit dem Angreifer statt eines Theme-Templates eine beliebige lesbare PHP-Datei außerhalb des Theme-Verzeichnisses einbinden können. Innerhalb weniger Stunden nach Veröffentlichung des Patches begann aktive Ausnutzung in freier Wildbahn, unter Ausnutzung des mitgelieferten Kommandozeilen-Tools pearcmd.php.
TL;DR — 90 Sekunden
CVE-2026-87902 (CVSS 9.2, kritisch) betrifft WordPress 4.7.0 bis 7.1.1. Die Funktion get_page_template() prüft den Theme-Pfad unzureichend: Existiert im aktiven Theme ein Verzeichnis, das mit page- beginnt, kann ein Angreifer per Path Traversal eine beliebige lesbare PHP-Datei außerhalb des Theme-Ordners einbinden lassen. In Kombination mit dem in vielen Installationen erreichbaren pearcmd.php (Teil der PEAR-Bibliothek) lässt sich daraus vollständige Remote Code Execution bauen, ganz ohne Authentifizierung und ohne Interaktion eines Nutzers. Aktive Ausnutzung begann laut Beobachtungen am 22. September 2026 um 11:49 UTC, am selben Tag wie die Patch-Veröffentlichung. Fix: Update auf 7.1.2 (beziehungsweise 7.0.6, 6.9.9 oder 6.8.10 für ältere Linien).
Was ist das Problem?
get_page_template() wählt anhand des angefragten Seitenpfads die passende Theme-Datei aus. Die Funktion prüft dabei nicht ausreichend, ob der resultierende Pfad tatsächlich innerhalb des aktiven Theme-Verzeichnisses liegt. Besitzt das aktive Theme ein Verzeichnis, dessen Name mit page- beginnt, kann ein Angreifer den Lookup mit einer präparierten Anfrage so manipulieren, dass eine beliebige lesbare .php-Datei außerhalb des Theme-Ordners eingebunden und damit ausgeführt wird.
Der beobachtete Angriffsweg nutzt pearcmd.php, ein Kommandozeilenwerkzeug der mitgelieferten PEAR-Bibliothek, das in vielen Installationen unbeachtet im Dateisystem liegt und erreichbar bleibt. Angreifer missbrauchen es, um Dateien mit beliebigem Inhalt nach /tmp oder /var/tmp zu schreiben, und laden anschließend ein Uploader-Skript von einem externen GitHub-Repository nach, um eine vollständige Webshell zu platzieren.
Wer ist betroffen?
| CVE | Betroffen | Fix | Voraussetzung | CVSS |
|---|---|---|---|---|
| CVE-2026-87902 | WordPress 4.7.0 – 7.1.1 | 7.1.2 (sowie 7.0.6, 6.9.9, 6.8.10 für ältere Linien, rückportiert bis 4.7.37) | Aktives Theme mit einem Verzeichnis, das mit page- beginnt, sowie eine erreichbare lesbare PHP-Datei außerhalb des Theme-Ordners (typischerweise pearcmd.php) | 9.2 (kritisch, CVSS v4) |
Betroffen ist praktisch jede WordPress-Installation im genannten Versionsbereich mit einem passend benannten Theme-Verzeichnis. Installationen mit automatischen Hintergrund-Updates haben den Patch in der Regel bereits erhalten. Sites mit deaktivierten Auto-Updates oder manuell verwalteten Instanzen bleiben verwundbar, bis manuell aktualisiert wird.
Auswirkungen
Die Lücke erfordert weder Authentifizierung noch Interaktion eines Nutzers und ist vollständig aus der Ferne ausnutzbar. Eine erfolgreiche Ausnutzung führt zu Remote Code Execution mit den Rechten des Webserver-Prozesses und damit potenziell zur vollständigen Übernahme der Installation, einschließlich Datenbankzugriff, Auslesen von Konfigurationsdateien und Ablage dauerhafter Webshells. Da die Ausnutzung bereits Stunden nach Bekanntwerden begann und laut Berichten bis mindestens zum 24. September 2026 anhält, handelt es sich um eine aktiv unter Beschuss stehende Lücke und nicht nur um ein theoretisches Risiko.
Mitigation / Sofortmaßnahmen
Aktualisieren Sie umgehend auf WordPress 7.1.2 beziehungsweise die passende gepatchte Version Ihrer Linie (7.0.6, 6.9.9, 6.8.10). Installationen mit aktivierten automatischen Hintergrund-Updates haben den Patch in der Regel bereits erhalten, eine manuelle Kontrolle ist dennoch sinnvoll.
# Version prüfen (WP-CLI)
wp core version
# Sofort aktualisieren
wp core update
wp core update-db
# pearcmd.php entfernen oder Zugriff blockieren, sofern nicht benötigt
rm wp-includes/pear/PEAR/Command.php 2>/dev/null
# alternativ per Webserver-Regel sperren (Beispiel nginx)
location ~* /wp-includes/pear/.*\.php$ { deny all; }
Prüfen Sie zusätzlich, ob Ihr aktives Theme ein Verzeichnis besitzt, dessen Name mit page- beginnt, und ob dort tatsächlich Template-Logik benötigt wird. Sperren Sie generell die PHP-Ausführung in Upload- und temporären Verzeichnissen (wp-content/uploads, /tmp, /var/tmp) auf Webserver-Ebene, unabhängig von dieser konkreten Lücke.
Detection / Prüfung
Prüfen Sie das Dateisystem auf bekannte Artefakte dieser Kampagne:
# Bekannte Datei-Indikatoren suchen
find / -iname "wp-pear-rce-flag.php" -o -iname "poc87902.php" 2>/dev/null
find / -regextype posix-extended -regex '.*/(luci|zeta)_[A-Za-z0-9]+\.php' 2>/dev/null
# Zugriffslogs auf pearcmd.php und ungewöhnliche Query-Strings prüfen
grep -i "pearcmd.php" /var/log/nginx/access.log
grep -E "page-[a-z0-9%.\/]+\.php" /var/log/nginx/access.log
Bekannte Quell-IP-Adressen aus der aktuellen Kampagne umfassen unter anderem 104.194.9.227, 43.250.53.42, 180.251.159.243, 195.178.110.247, 107.189.14.87 und 45.61.184.170 sowie mehrere indonesische Adressblöcke. Prüfen Sie zudem ausgehende Verbindungen zu raw.githubusercontent.com, insbesondere zu Repositories mit Webshell-Inhalt, da dieser Weg zum Nachladen der Payload beobachtet wurde.
Betreiberempfehlung
Akut handeln, wenn: Sie eine WordPress-Instanz zwischen 4.7.0 und 7.1.1 betreiben und noch nicht auf den Patch aktualisiert haben. Patchen Sie sofort und prüfen Sie anschließend auf die genannten Kompromittierungs-Indikatoren, da die Lücke bereits aktiv ausgenutzt wird.
Beobachten genügt, wenn: Ihre Installation bereits auf 7.1.2 oder höher aktualisiert wurde und die Detection-Prüfung keine Auffälligkeiten zeigt. Behalten Sie automatische Updates aktiviert, um zukünftige ähnliche Lücken schneller zu schließen.
Häufig gestellte Fragen zu CVE-2026-87902
Warum berührt ein WordPress-CVE einen TYPO3-fokussierten Blog?+
Viele Agenturen und Betreiber pflegen gemischte PHP-Stacks mit TYPO3- und WordPress-Installationen nebeneinander. Das Angriffsmuster, ungenutzte CLI-Tools wie pearcmd.php im produktiven Webroot erreichbar zu lassen, ist zudem ein allgemeines PHP-Härtungsthema, nicht nur ein WordPress-Problem.
Reicht ein Update auf 7.1.2 als alleinige Maßnahme?+
In den meisten Fällen ja. Wurde die Instanz jedoch bereits vor dem Patch kompromittiert, bleibt eine eingeschleuste Webshell auch nach dem Update bestehen. Eine Prüfung auf die genannten Indikatoren ist deshalb zusätzlich sinnvoll.
Sind alle Themes gleichermaßen betroffen?+
Nur Themes mit einem Verzeichnis, dessen Name mit page- beginnt, erfüllen die erste Voraussetzung der Lücke. Viele verbreitete Themes nutzen dieses Namensmuster für Page-Templates, weshalb die Verbreitung in der Praxis hoch ist.
Was macht pearcmd.php in einer WordPress-Installation?+
pearcmd.php ist ein Kommandozeilenwerkzeug der PEAR-Bibliothek, die als Abhängigkeit mitgeliefert wird. Es ist für den regulären Betrieb einer Website nicht erforderlich, bleibt aber in vielen Installationen unbemerkt erreichbar.
Wie schnell begann die aktive Ausnutzung?+
Nach Beobachtungen begann aktive Ausnutzung am 22. September 2026 um 11:49 UTC, also am selben Tag wie die Patch-Veröffentlichung. Das ist ein sehr kurzes Zeitfenster zwischen Disclosure und Exploitation.
Gibt es Hinweise auf gezielte Angriffe statt breiter Streuung?+
Nach aktuellem Kenntnisstand wirkt die Aktivität opportunistisch und breit gestreut statt gezielt auf einzelne Organisationen. Die Urheberschaft ist bislang nicht eindeutig zugeordnet.
Fazit
CVE-2026-87902 zeigt ein bekanntes Muster: eine harmlos wirkende Pfadfunktion, eine ungenutzte, aber erreichbare Hilfsdatei, und binnen Stunden aktive Ausnutzung im offenen Internet. Für Betreiber beliebiger PHP-basierter CMS-Systeme, nicht nur WordPress, bleibt die Lehre dieselbe: Automatische Updates sind kein Nice-to-have, und mitgelieferte, nicht benötigte CLI-Werkzeuge gehören aus dem erreichbaren Webroot entfernt oder gesperrt.
Quellen
Ich betreue gemischte PHP-Stacks aus TYPO3, WordPress und weiteren CMS laufend, inklusive Patch-Management und Härtung nicht benötigter Komponenten.
Versions-Monitoring über mehrere CMS-Systeme hinweg, Härtung von Upload- und temporären Verzeichnissen, Incident-Response bei Verdacht auf Kompromittierung.
Plattform-Betrieb statt Beratung auf Papier: Ich prüfe, patche und härte Ihre Infrastruktur laufend.