React और Next.js में remote code execution संभव करने वाला CVE-2025-55182 (React2Shell)
(securitylabs.datadoghq.com)- React Server Components में बिना authentication के कोई भी कोड चलाने वाला Remote Code Execution (RCE) का vulnerability मिला है, इसलिए तुरंत upgrade करने की जरूरत
- Next.js भी प्रभावित है, और यदि App Router का उपयोग हो रहा हो तो यह कमजोरी मौजूद रहती है। Next.js इसे CVE-2025-66478 के रूप में track कर रहा है
- इस vulnerability की जड़ server-side prototype pollution है, जिससे attacker JavaScript object के prototype को बदलकर
child_process.execSyncजैसी APIs से commands चला सकता है - सार्वजनिक PoC (Proof of Concept) code तेज़ी से फैल रहा है, और Datadog ने 5 दिसंबर तक 800 से अधिक IP से वास्तविक attack प्रयास पकड़े
- CVSS स्कोर 10/10 पर rated इस vulnerability में Next.js 15.x~16.x संस्करणों में जोखिम खास तौर पर high है, इसलिए latest patch लगाना अनिवार्य है
मुख्य सुरक्षा खामी का सारांश
- 3 दिसंबर को React Server Components में बिना authentication के arbitrary code execution संभव करने वाली कमजोरी खोजी गई और इसे CVE-2025-55182 के तहत list किया गया
- यह vulnerability server-side execute होती है, यानी attacker दूर से code run कर सकता है
- क्योंकि Next.js में affected component मौजूद है, इसलिए वह भी प्रभावित है
- Next.js अलग से CVE-2025-66478 के तहत manage कर रहा है, जबकि NVD में इस CVE को officially reject किया गया है
- CVSS स्कोर 10/10 है; Datadog के अनुसार attack बेहद आसान है और default template से बने Next.js apps में भी reproduce किया जा सकता है
- 5 दिसंबर तक weaponized payload के साथ वास्तविक attack प्रयास देखे गए
प्रभावित versions और mitigation उपाय
- प्रभावित React लाइब्रेरी:
react-server-dom-parcel,react-server-dom-webpack,react-server-dom-turbopack- कमजोर versions: 19.0~19.2.0 / patched versions: 19.0.1, 19.1.2, 19.2.1
- Next.js प्रभावित versions
- vulnerable: 15.x, 16.x, 14.3.0-canary.77 के बाद वाले
- patch: 15.0.5, 15.1.9, 15.2.6, 15.3.6, 15.4.8, 15.5.7, 16.0.7
npm auditcommand से vulnerability check हो सकता है- समाधान: patched versions में upgrade करना
vulnerability analysis और PoC
- 3 दिसंबर को React repository में patch code commit किया गया
- fix में
requireModulefunction को बदलकर object property existence check जोड़ दी गई
- fix में
- यह flaw दरअसल server-side prototype pollution का केस है, जहाँ object prototype corrupt करके arbitrary code execution कराया जा सकता है
- सार्वजनिक PoC:
- पहला PoC (
ejpir/CVE-2025-55182-poc) काम नहीं कर रहा था - दूसरा PoC (
msanft/CVE-2025-55182) डिफ़ॉल्ट Next.js app में भी काम करता है - 5 दिसंबर को मूल शोधकर्ता Lachlan Davidson ने तीन अलग variants वाले official PoC रिलीज़ किए
- पहला PoC (
वास्तविक attack activity
- Datadog ने 3 दिसंबर रात 22:00 (UTC) से scanning activity detect की
- 5 दिसंबर तक 800 से अधिक IP से scanning और attack attempts confirm हुए
- दो से अधिक organizations target हुए, और 4 दिसंबर के बाद activity जारी रही
- attack flow:
- शुरुआत में non-working PoC पर आधारित scanning
- बाद में Moritz Sanft का PoC, और শেষে Davidson का PoC यानी payload क्रम बदलते गए
- देखे गए payload:
/etc/passwdread करना,whoamirun करना,curl·wgetसे remote script download करना आदि- कुछ payload में environment variables (
.env) exfiltrate करना और system info collect करना भी शामिल था
server-side prototype pollution concept
- इसे CWE-1321 type माना गया है, जो गलत तरीके से object prototype properties control करने पर होता है
- आम तौर पर frontend में इसे XSS के लिए exploit किया जाता है, लेकिन server-side में यह RCE या file read में बदल सकता है
- उदाहरण code में
__proto__के जरिए pollution करने परObject.prototypeबदल जाता है और बाद में बने सभी object प्रभावित होते हैं - नतीजतन जब
spawnSync('sh')call होता है तो malicious command input के रूप में inject होकर execute हो जाता है
Datadog detection और protection capabilities
- Datadog Code Security GitHub या runtime में vulnerable libraries detect करती है
- CVE-2025-55182 या CVE-2025-66478 खोजने की functionality देती है
- Datadog App and API Protection (AAP) runtime में attacks block कर सकता है
- Datadog Workload Protection Node process में
wget,curl,bashआदि command execution खोजने के लिए custom rules देता है
संदर्भ
- official advisories: React, Next.js
- cloud provider responses: AWS, Vercel, Google Cloud, Akamai, Cloudflare
- security vendors: Wiz, Tenable, SearchLight Cyber
- CERT alerts: CERT-EU, CERT-SE, CERT-AU
- सार्वजनिक स्कैनर: assetnote/react2shell-scanner
5 टिप्पणियां
लगता है आजकल Vercel टीम पूरी तरह बिखरी हुई है। शायद React/Next से आगे बढ़ने का समय आ गया है।
यह सही तो नहीं था, लेकिन क्या इससे बेहतर प्रतिक्रिया हो सकती थी?
React और Next.js में remote code execution (RCE) संभव बनाने वाली भेद्यता
लगता है Vercel टीम ने प्रभावित version को एक साथ update करने के लिए यह npx command जारी किया है।
npx fix-react2shell-nextलगता है
npm auditकमांड से यह जांचकर कि vulnerability है या नहीं, अपडेट करना पड़ेगा..