
POC für CVE-2026-78006 The Events Calendar <= 6.17.4 – Nicht authentifizierte PHP-Objektinjektion bis hin zur Remote-Code-Ausführung
POC für CVE-2026-78006 The Events Calendar <= 6.17.4 - Unauthentifizierte PHP-Object-Injection bis hin zu Remote Code Execution
#KONTAKT telegram für alle Anfragen: @soldout0O
Wenn dir meine Arbeit gefällt, ziehe in Betracht, das Projekt über USDT (TRC20): TQBA72kakjCZLnJt8fJYcD7dyQCEpzNtVN zu unterstützen
The Events Calendar für WordPress enthält eine unauthentifizierte PHP-Object-Injection-Schwachstelle, die zu Remote Code Execution verkettet werden kann.
Der verwundbare Codepfad umfasst:
is_safe_widget_instance()enable_rendering_widget_copied()unserialize()do_blocks()Unter den dokumentierten Bedingungen kann ein unauthentifizierter Angreifer präpariertes Block-Markup über einen Event-Kommentar übermitteln und den verwundbaren Deserialisierungspfad erreichen, bevor die Kommentar-Moderation erfolgt.
Die Schwachstelle existiert, weil der Schutz des Plugins rund um Widget-Instanzen unzureichend ist.
Der verwundbare Ablauf lässt sich wie folgt zusammenfassen:```text Unauthenticated Comment | v Pending Event Comment | v WordPress Moderation-Hash URL | v Unauthenticated Author Can View Own Pending Comment | v V2 Single-Event Template | v do_blocks() | v Injected Block Markup | v enable_rendering_widget_copied() | v Forged Integrity Attribute | v is_safe_widget_instance() | v PHP Magic Methods / Object Deserialization | v unserialize() | v PHP Object Injection | v Remote Code Execution
---
# Betroffenes Plugin
**Plugin:** The Events Calendar
**Schwachstelle:** Unauthentifizierte PHP-Object-Injection, die zu
Remote Code Execution führt
**Betroffene Versionen:** Alle Versionen bis einschließlich **6.17.4**,
gemäß der Wordfence-Advisory.
> [!IMPORTANT]
> Der derzeit mit diesem Repository veröffentlichte Research-PoC gibt
> intern an, auf `<= 6.17.2` abzuzielen.
>
> Der oben angegebene Versionsbereich folgt der Wordfence-Advisory
> (`<= 6.17.4`). Überprüfen Sie stets die exakte verwundbare/behobene Version anhand
> der Vendor-Advisory, bevor Sie eine Bereitstellung testen.
---
# Ursache
Das verwundbare Verhalten steht im Zusammenhang mit der Interaktion zwischen der
Widget-Sicherheitsprüfung und dem Objekt-Deserialisierungsverhalten von PHP.
Die beteiligten Schlüsselfunktionen sind:```text
is_safe_widget_instance()
enable_rendering_widget_copied()
Die Sicherheitsprüfung ist unzureichend, weil PHP während seines Parsing-/Deserialisierungsverhaltens Magic Methods aufrufen kann, bevor die beabsichtigte Sicherheitsvalidierung einen wirksamen Schutz bietet.
Die Kette hängt außerdem davon ab, dass das Plugin einen gültigen Integritätswert für die übergebene Widget-Instanz generiert.
Eine der wichtigsten Eigenschaften dieser Schwachstelle ist, dass der Angreifer kein bestehendes WordPress-Konto benötigt.
Der Angriffspfad missbraucht die Art und Weise, wie WordPress den eigenen ausstehenden Kommentar eines Benutzers über eine Moderations-Hash-URL offenlegt.
Die relevanten Bedingungen sind:```text Comments enabled + Comments visible on events + Attacker can submit an event comment + V2 single-event template active
Nach dem Absenden eines Kommentars kann WordPress eine nicht authentifizierte
moderation-hash-URL bereitstellen, die es dem Kommentator ermöglicht, seinen eigenen ausstehenden
Kommentar einzusehen.
Dies schafft einen nicht authentifizierten Auslieferungsmechanismus für das präparierte Block-
Markup.
---
# Technische Erklärung
## 1. Kommentarübermittlung
Der Angreifer übermittelt einen Kommentar, der einem Event zugeordnet ist.
Der Kommentar muss nicht genehmigt werden.
Die wichtige Eigenschaft ist, dass WordPress den Kommentar über
den moderation-hash-Mechanismus verfügbar machen kann.
---
## 2. Moderation-Hash-Zugriff
WordPress stellt dem Kommentator eine URL bereit, die es dem Kommentator ermöglicht,
seinen eigenen ausstehenden Kommentar einzusehen.
Das bedeutet, dass der Angreifer den verwundbaren Rendering-Pfad erreichen kann, ohne
auf die Moderation zu warten.
Konzeptionell:```text
POST Comment
|
v
Pending Comment
|
v
Moderation Hash
|
v
Unauthenticated Access
Das V2-Template für einzelne Events des Events Calendar verarbeitet den Event-Inhalt und das kommentarbezogene HTML.
Der relevante WordPress-Verarbeitungspfad erreicht schließlich:```text do_blocks()
Das ist wichtig, weil im gerenderten Inhalt eingebettetes Block-Markup
als WordPress-Blockdaten interpretiert wird.
---
## 4. Manipulierte Blockdaten
Das PoC konstruiert einen Legacy-Widget-Block, der eine serialisierte
Widget-Instanz enthält.
Die Forschungsimplementierung erstellt den Block unter Verwendung einer
kodierten serialisierten Instanz und eines Integritätsattributs.
Der verwundbare Pfad verarbeitet diese Daten letztendlich als
Widget-Instanz.
---
## 5. Umgehung der Integritätsprüfung
Das Verhalten `enable_rendering_widget_copied()` des Plugins kann
missbraucht werden, um ein gültiges Integritätsattribut für die vom
Angreifer kontrollierten Widget-Daten zu erzeugen.
Dadurch kann die bösartige Widget-Instanz die erwartete
Integritätsprüfung bestehen und den verwundbaren Verarbeitungspfad
erreichen.
---
## 6. Unsichere Objektbehandlung
Der verwundbare Schutz `is_safe_widget_instance()` ist unzureichend
gegenüber dem Objekt, das über die manipulierte Widget-Instanz
bereitgestellt wird.
Das Objektbehandlungsverhalten von PHP kann während des
Deserialisierungsprozesses Magic Methods aufrufen.
Das Ergebnis ist ein ausnutzbares PHP Object Injection-Primitiv.
---
## 7. Gadget Chain
Das Forschungs-PoC konstruiert WordPress-/The Events Calendar-Objekt-
strukturen, die während der Deserialisierung aufrufbares Verhalten
bereitstellen.
Das PoC verwendet callback-orientierte Objekte und serialisierte
Klassenstrukturen, um die Forschungs-Payload zu konstruieren.
---
## 8. Codeausführung
Die endgültige Auswirkung ist Remote Code Execution.
Das PoC enthält eine Forschungs-Webshell-Stufe und Logik zur
Erstellung von Administratoren.
Zur sicheren Verifizierung der Schwachstelle ist die wichtige
Sicherheitsgrenze bereits durch die erfolgreiche Ausführung der
verwundbaren Deserialisierungskette nachgewiesen.
---
# Warum die Schwachstelle kritisch ist
Die Kombination aus:```text
Unauthenticated
+
Remote
+
PHP Object Injection
+
RCE
creates a high-impact attack path.
An attacker does not need:
The main environmental prerequisite is that the vulnerable event/comment rendering path is reachable.
The repository contains a Python-based research implementation.
The uploaded PoC is an asynchronous runner around the original research logic.
It uses:```text Python aiohttp rich
Die Implementierung führt die Schwachstellenkette durch gestufte
Payload-Bereitstellung und -Verifikation aus.
Die PoC-Quelle beschreibt ihre Architektur wie folgt:```text
payload building
|
v
stage 1
|
v
verification
|
v
stage 2
Die Forschungsimplementierung umfasst Funktionalität für: