
Prueba de concepto de exploit para CVE-2026-21440, un path traversal crítico en las subidas multipart de AdonisJS que permite la escritura arbitraria de archivos y la ejecución remota de código.
CVE-2026-21440 es una vulnerabilidad crítica de path traversal que afecta al framework AdonisJS, específicamente a su manejo de subida de archivos multipart.
⚠️ Si se explota, los atacantes pueden escribir archivos en cualquier parte del servidor, lo que potencialmente puede conducir a ejecución remota de código (RCE).
| Campo | Valor |
|---|
| ID CVE | CVE-2026-21440 |
| Gravedad | 🔴 Crítica |
| CVSS v4.0 | 9.2 |
| CWE | CWE-22 (Path Traversal) |
| Vector de Ataque | Red |
| Autenticación Requerida | ❌ No |
AdonisJS confía incorrectamente en nombres de archivo proporcionados por el usuario durante las subidas de archivos multipart.
Cuando los desarrolladores llaman:
MultipartFile.move()
sin una sanitización estricta, los atacantes pueden enviar nombres de archivo como:
../../../../app/config/startup.js
Esto les permite escapar del directorio de subida previsto y escribir archivos en ubicaciones arbitrarias del servidor.
Un atacante puede potencialmente:
Esto hace que la vulnerabilidad sea especialmente peligrosa para endpoints públicos de subida de archivos.
@adonisjs/bodyparser ≤ 10.1.111.x anteriores a 11.0.0-next.6➡️ Actualice a una versión parcheada lo antes posible.
Si la actualización aún no es posible:
../, rutas absolutas, bytes nulos)MultipartFile.move()Instalar dependencia
pip install requests
Guardar el script
Copie el código Python completo y guárdelo como cve_2026_21440_poc.py
Encontrar el endpoint de subida
Identifique la URL de subida de archivos multipart del objetivo (p. ej., /upload, /api/files). Pruebe con el navegador o curl.
Ejecutar primero una prueba segura
python3 cve_2026_21440_poc.py http://target:port/upload --safe --random
Verificar el éxito
Si es vulnerable, pruebe la shell (opcional)
python3 cve_2026_21440_poc.py http://target:port/upload --shell php --depth 5
Verificar la shell
Acceda al archivo subido (p. ej., http://target/shell.php?cmd=whoami) para ver la salida del comando.
¡Úselo solo en objetivos autorizados! Comience con --safe.

╔══════════════════════════════════════════════════════════════╗
║ ⚠️ AVISO LEGAL ⚠️ ║
╚══════════════════════════════════════════════════════════════╝
Este script de Prueba de Concepto de CVE-2026-21440 se proporciona ÚNICAMENTE con fines educativos, de investigación y de pruebas de seguridad autorizadas.
❌ PUEDE usarlo en: • Sistemas de su propiedad • Sistemas para los que tenga permiso escrito explícito para probar
❌ NO PUEDE usarlo para: • Acceso no autorizado a cualquier sistema • Actividades ilegales de cualquier tipo • Fines maliciosos
El autor y el distribuidor NO asumen NINGUNA responsabilidad por: • El mal uso de esta herramienta • Daños causados a sistemas • Consecuencias legales derivadas del uso no autorizado
Usar este script contra sistemas sin permiso viola las leyes de la mayoría de los países (p. ej., CFAA en EE. UU., Computer Misuse Act en el Reino Unido).
Al usar esta herramienta, usted acepta: • Asumir toda la responsabilidad por sus acciones • Cumplir con todas las leyes aplicables
Sea ético. Pruebe de forma responsable. Reporte las vulnerabilidades a los proveedores.
✦ Hackea el planeta — pero legalmente ✦