
Prueba de concepto: CVE-2026-21858 es una vulnerabilidad en n8n donde atacantes remotos no autenticados pueden acceder a archivos sensibles.
Una herramienta de investigación de seguridad para detectar CVE-2026-21858, una vulnerabilidad crítica de ejecución remota de código en la plataforma de automatización de flujos de trabajo n8n.
| Campo | Valor |
|---|---|
| Identificador CVE | CVE-2026-21858 |
| Puntaje CVSS v3.1 | 10.0 (Crítico) |
| Vector CVSS | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H |
| Clasificación CWE | CWE-94: Control Inadecuado de la Generación de Código |
| Vendedor | n8n GmbH |
| Producto | Automatización de Flujos de Trabajo n8n |
| Fecha de Divulgación | Enero 2026 |
| Parche Disponible | Sí (v1.121.0+) |
Existe una vulnerabilidad crítica en las versiones de n8n 1.65.0 hasta 1.120.x que permite a atacantes remotos no autenticados ejecutar código arbitrario en el servidor subyacente. La vulnerabilidad se explota a través de flujos de trabajo basados en formularios especialmente diseñados, permitiendo el acceso no autorizado al sistema de archivos y la ejecución de comandos.
| Rango de Versiones | Estado |
|---|---|
| < 1.65.0 | No Afectado |
| 1.65.0 - 1.120.x | Vulnerable |
| >= 1.121.0 | Parcheado |
La vulnerabilidad se origina por una validación de entrada insuficiente en el motor de ejecución de flujos de trabajo basados en formularios. Al procesar datos proporcionados por el usuario a través de disparadores de formularios, n8n no sanitiza adecuadamente los parámetros de entrada antes de pasarlos a los contextos de ejecución internos.
| Paquete | Versión Mínima | Propósito |
|---|---|---|
| requests | 2.31.0 | Manejo de solicitudes HTTP |
| urllib3 | 2.0.0 | Gestión de URL y conexiones |
| packaging | 23.0 | Lógica de comparación de versiones |
uv es un instalador y resolvedor de paquetes Python rápido.
# Clonar el repositorio
git clone https://github.com/sh4den/CVE-2026-21858.git
cd CVE-2026-21858
# Instalar dependencias y crear entorno virtual
uv sync
# Ejecutar la herramienta
uv run python main.py -u https://target.example.com
# Clonar el repositorio
git clone https://github.com/sh4den/CVE-2026-21858.git
cd CVE-2026-21858
# Crear entorno virtual (recomendado)
python3 -m venv venv
source venv/bin/activate # Linux/macOS
# o
.\venv\Scripts\activate # Windows
# Instalar dependencias
pip install requests>=2.31.0 urllib3>=2.0.0 packaging>=23.0
# Ejecutar la herramienta
python main.py -u https://target.example.com
# Asegurarse de que Python 3.12+ esté instalado
python3 --version
# Instalar paquetes requeridos
pip install requests urllib3 packaging
# Descargar y ejecutar
curl -O https://raw.githubusercontent.com/sh4den/CVE-2026-21858/main/main.py
python3 main.py -u https://target.example.com
Usage:
python main.py -u <target_url> Escanear un solo objetivo
python main.py -l <targets_file> Escanear múltiples objetivos desde archivo
Arguments:
-u URL de un solo objetivo
-l Ruta al archivo que contiene las URLs objetivo (una por línea)
Probar una sola instancia de n8n para la vulnerabilidad:
python main.py -u https://n8n.example.com
python main.py -u http://192.168.1.100:5678
Escanear múltiples objetivos desde un archivo:
python main.py -l targets.txt
Formato del Archivo de Objetivos (targets.txt):
https://n8n.company-a.com
https://n8n.company-b.com:5678
http://10.0.0.50:5678
n8n.company-c.com
192.168.1.100:5678
Notas:
https://La herramienta emplea detección de versión pasiva a través de los siguientes pasos:
/signinn8n:config:sentry en el HTML[email protected]GET /signin HTTP/1.1
Host: target.example.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9
Accept-Language: en-US,en;q=0.5
Connection: close
Actualizar n8n: Actualizar a la versión 1.121.0 o posterior inmediatamente
# Usando npm
npm update -g n8n
# Usando Docker
docker pull n8nio/n8n:latest
Aislamiento de Red: Restringir el acceso a las instancias de n8n
Auditoría de Flujos de Trabajo: Revisar todos los flujos de trabajo existentes
# Verificar la versión de n8n después de la actualización
n8n --version
# O verificar a través de esta herramienta
python main.py -u https://tu-instancia-n8n.com
# Esperado: [SAFE] ... Version: 1.121.0+ (no vulnerable)
Revisar los registros de n8n y del servidor web en busca de los siguientes patrones:
IMPORTANTE: LEA ANTES DE USAR
Esta herramienta se proporciona estrictamente para:
Usos Prohibidos:
Responsabilidad: Los autores y contribuyentes no asumen ninguna responsabilidad por el mal uso de este software. Los usuarios son los únicos responsables de garantizar el cumplimiento de todas las leyes aplicables y de obtener la autorización adecuada antes de realizar cualquier prueba de seguridad.
Aviso Legal: El acceso no autorizado a sistemas informáticos es un delito penal en la mayoría de las jurisdicciones, incluidas, entre otras, las violaciones de la Ley de Fraude y Abuso Informático (CFAA) en los Estados Unidos, la Ley de Uso Indebido de Computadoras en el Reino Unido y legislaciones similares en todo el mundo.
| Versión | Fecha | Cambios |
|---|---|---|
| 1.0.0 | 2026-01-20 | Lanzamiento inicial |
Este proyecto se proporciona tal cual para fines autorizados de investigación en seguridad únicamente. No se proporciona ninguna garantía, explícita o implícita. Úselo bajo su propio riesgo y de acuerdo con las leyes aplicables.
| Indicador | Color | Descripción |
|---|
[VULNERABLE] | Verde | El objetivo ejecuta una versión vulnerable de n8n (1.65.0 - 1.120.x) |
[SAFE] | Azul | El objetivo ejecuta una versión parcheada (>= 1.121.0 o < 1.65.0) |
[WARNING] | Amarillo | Se detectó una instancia de n8n pero falló la extracción de versión |
[ERROR] | Rojo | Fallo de conexión, tiempo de espera o objetivo que no es n8n |
| Acción | Prioridad | Descripción |
|---|
| Gestión de Parches | Crítica | Establecer procedimientos de actualización automatizados para n8n |
| Control de Acceso | Alta | Implementar autenticación para todos los endpoints de n8n |
| Segmentación de Red | Alta | Aislar n8n de las redes públicas |
| Monitoreo | Media | Implementar registro y alertas para la actividad de n8n |
| Privilegio Mínimo | Media | Ejecutar n8n con los permisos mínimos requeridos |
| Copia de Seguridad | Media | Mantener copias de seguridad regulares de las configuraciones de flujos de trabajo |