Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2025-55182-analysis — 浅谈React Server Components RCE 漏洞分析 | Kitploit
उपकरण/GitHubGitHub/airis101/cve-2025-55182-analysis
भेद्यता विश्लेषणकोड विश्लेषणशोषणवेब एप्लिकेशन शोषणपेपर और शोधलर्निंग और शिक्षा
GitHubairis101/cve-2025-55182-analysis

CVE-2025-55182-analysis

浅谈React Server Components RCE 漏洞分析

रिपॉजिटरी देखें
126 महीने पहलेअभी तक समीक्षित नहीं

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

1. भेद्यता अवलोकन

पिछले दो दिनों में React के एक deserialization RCE भेद्यता ने सुर्खियाँ बटोरीं, आधिकारिक CVSS सीधे 10.0 पर पहुँच गया, जो उस समय के Log4j के बराबर है। कुछ समय के लिए, कई अफवाहों ने दावा किया कि यह आधुनिक फ्रंट-एंड का Log4j है, जिससे कई कंपनियों के डेवलपर्स में घबराहट फैल गई, और सभी जागकर विभिन्न दस्तावेज़ों और पैचों की खोज करने लगे...। इसी बीच, ऑनलाइन कई संदेह भी सामने आए, कुछ लोगों ने परीक्षण के बाद पाया कि यह भेद्यता उतनी गंभीर नहीं है जितना प्रचारित किया गया, बल्कि इसका शोषण कुछ शर्तों पर निर्भर करता है। इसलिए मैंने इस भेद्यता का गहराई से अध्ययन करने का निर्णय लिया।

1.1 भेद्यता जानकारी

  • CVE नंबर: CVE-2025-55182
  • CVSS स्कोर: 10.0 (Critical)
  • भेद्यता प्रकार: प्रोटोटाइप श्रृंखला प्रदूषण → रिमोट कोड निष्पादन
  • प्रभावित संस्करण: react-server-dom-webpack < 19.2.0, react-server-dom-turbopack < 19.2.0
  • प्रभाव का दायरा: React Server Components का उपयोग करने वाले अनुप्रयोग

2. भेद्यता सिद्धांत विश्लेषण

2.1 भेद्यता का मूल कारण

इस भेद्यता का कारण इस प्रकार है: [email protected] में, सर्वर साइड पर Server Action को पार्स करने वाला मुख्य फ़ंक्शन (स्यूडोकोड) है:

requireModule
root@kitploit:~
function requireModule(metadata) {
  var moduleExports = __webpack_require__(metadata[0]);
  // ...
  return "*" === metadata[2]
    ? moduleExports
    : "" === metadata[2]
      ? moduleExports.__esModule
        ? moduleExports.default
        : moduleExports
      : moduleExports[metadata[2]];  // ← 漏洞点
}

2.2 भेद्यता की मुख्य समस्या

भेद्यता का मूल moduleExports[metadata[2]] यह भाग है, जहाँ metadata[2] का कोई सत्यापन नहीं किया जाता, जिससे हमलावर न केवल मॉड्यूल के अपने निर्यात गुणों तक पहुँच सकता है, बल्कि प्रोटोटाइप श्रृंखला पर गुणों (जैसे constructor, __proto__, आदि) तक भी पहुँच सकता है। जब हमलावर metadata[0] को तैयार करता है (उदाहरण के लिए इसे vm पर इंगित करके), तो वह फिर से metadata[2] तैयार कर सकता है और इस प्रकार निर्दिष्ट मॉड्यूल में खतरनाक विधियों, जैसे vm.runInThisContext, को निर्यात कर सकता है, जिससे भेद्यता का शोषण होता है।


3. भेद्यता शोषण विश्लेषण

अपने विश्लेषण के दौरान, मैंने ejpir द्वारा प्रदान किए गए परीक्षण वातावरण और भेद्यता शोषण का संदर्भ लिया, और vm_runInThisContext इस Code Execution गैजेट को उदाहरण के रूप में लेकर विश्लेषण किया, प्रक्रिया इस प्रकार है (ध्यान दें: वास्तविक वातावरण में शोषण प्रक्रिया कुछ भिन्न हो सकती है!):

चरण 1: अनुरोध प्राप्त करना

पहले, पेलोड के साथ अनुरोध भेजने के बाद, ब्रेकपॉइंट अनुरोध प्राप्त करने की स्थिति पर इस प्रकार है:

चरण 2: फॉर्म डेटा पार्स करना

इसके बाद प्रोग्राम const formData = parseMultipart(buffer, boundaryMatch[1]); स्थान पर पहुँचता है, parseMultipart में प्रवेश करें

parseMultipart अनुरोध बॉडी डेटा निकालकर formData को लौटाता है

चरण 3: decodeAction को कॉल करना (भेद्यता प्रवेश बिंदु)

const actionFn = await decodeAction(formData, serverManifest); में प्रवेश करें भेद्यता उत्पन्न होने का स्थान

loadServerReference में प्रवेश करें

चरण 4: भेद्यता का मुख्य कोड requireModule

अब भेद्यता उत्पन्न करने वाले मुख्य कोड स्थान requireModule पर पहुँचते हैं, इसमें प्रवेश करें

यह id मान को # के आगे और पीछे के भाग को मॉड्यूल विधि के रूप में लौटाता है, और bound पैरामीटर मान को विधि के पैरामीटर के रूप में लौटाता है

चरण 5: पेलोड निष्पादित करना

actionFn में प्रवेश करें, अंतिम पेलोड निष्पादित करें

यहाँ, भेद्यता शोषण समाप्त होता है!


4. सारांश और बचाव

यह भेद्यता स्वयं इनपुट सत्यापन की कमी के कारण होती है, जो Log4j और fastjson के समान है। मैंने ऊपर vm_runInThisContext का परीक्षण किया, वास्तव में इस भेद्यता में कई गैजेट शोषण योग्य हैं, जैसे

  • vm#runInThisContext
  • vm#runInNewContext
  • child_process#execSync
  • child_process#execFileSync
  • child_process#spawnSync
  • fs#readFileSync
  • fs#writeFileSync
  • #constructor
  • #__proto__
  • #prototype

हमलावर इस भेद्यता का उपयोग करके निम्नलिखित प्राप्त कर सकता है:

  • रिमोट कोड निष्पादन (RCE): vm#runInThisContext या child_process#execSync के माध्यम से कोई भी सिस्टम कमांड निष्पादित करना
  • फ़ाइल सिस्टम संचालन: fs#readFileSync, fs#writeFileSync के माध्यम से कोई भी फ़ाइल पढ़ना/लिखना
  • स्थायी हमला: SSH पब्लिक की लिखना, .bashrc संशोधित करना, एप्लिकेशन फ़ाइलों को ओवरराइट करना आदि
  • सूचना रिसाव: संवेदनशील कॉन्फ़िगरेशन फ़ाइलें (.env, निजी कुंजी, डेटाबेस क्रेडेंशियल्स आदि) पढ़ना

इसके आधार पर, संबंधित बचाव उपाय इस प्रकार दिए जा सकते हैं:

1. अस्थायी बचाव

इसके आधार पर, अस्थायी बचाव इन दृष्टिकोणों से किया जा सकता है: WAF पर इन खतरनाक फ़ील्ड्स को ब्लॉक करने के नियम कॉन्फ़िगर किए जा सकते हैं, जिससे दुर्भावनापूर्ण हमलों को समय पर रोका जा सके। इसके अलावा, nginx पर भी मिलान करके ब्लॉक किया जा सकता है, जैसा नीचे दिखाया गया है:

root@kitploit:~
# Nginx कॉन्फ़िगरेशन उदाहरण
location /formaction {
    # खतरनाक मॉड्यूल संदर्भ वाले अनुरोधों को ब्लॉक करें
    if ($request_body ~* "(vm#|child_process#|fs#|module#)") {
        return 403;
    }
    # प्रोटोटाइप श्रृंखला प्रदूषण प्रयासों को ब्लॉक करें
    if ($request_body ~* "(#constructor|#__proto__|#prototype)") {
        return 403;
    }
}

2. जल्द से जल्द अपडेट करें

वर्तमान में आधिकारिक तौर पर सुरक्षा अपडेट जारी किया गया है, तुरंत सुरक्षित संस्करण में अपग्रेड करें! :

root@kitploit:~
# react-server-dom-webpack को अपग्रेड करें
npm install react-server-dom-webpack@>=19.2.0

# react-server-dom-turbopack को अपग्रेड करें
npm install react-server-dom-turbopack@>=19.2.0

# Next.js उपयोगकर्ता
npm install next@>=15.0.5

फिक्स संस्करण:

  • react-server-dom-webpack: >= 19.2.0
  • react-server-dom-turbopack: >= 19.2.0
  • next.js: >= 15.0.5

उपरोक्त भेद्यता का विश्लेषण करते समय, मैंने whiteov3rflow के संबंधित exp का संदर्भ लिया, और आगे परीक्षण वातावरण के लिए एक भेद्यता पहचान उपकरण लिखा, और इसे GitHub रिपॉजिटरी में रखा।

जो लोग स्वयं जांच करना चाहते हैं, वे इसे एक्सेस करके प्राप्त कर सकते हैं (ध्यान दें: मूल लेखक के परीक्षण वातावरण के कारण, यह वर्तमान में केवल मूल परीक्षण वातावरण के लिए उपयुक्त हो सकता है, बाद में सुधार की प्रतीक्षा है; जिन्हें आवश्यकता है वे इसे स्वयं संशोधित भी कर सकते हैं...) ध्यान दें कि कानूनी प्राधिकरण के साथ उपयोग करें, अनधिकृत विनाश निषिद्ध है!

3. सावधानी से बोलें, सावधानी से कार्य करें!

अब तक, 2025.12.5, मैंने ऑनलाइन देखा है कि इस भेद्यता की 'खबर' रोलर कोस्टर की तरह उतार-चढ़ाव से भरी है, कभी 'परमाणु बम', कभी 'पानी का गड्ढा', और फिर 'परमाणु बम' में बदल जाती है... संबंधित शोषण विधियाँ भी लगातार उभर रही हैं। वर्तमान जानकारी के अनुसार, 'परमाणु बम' वास्तविक हो सकता है, लेकिन इसका प्रभाव Log4j की तुलना में कम है, फिर भी, सभी संबंधित मित्रों को जल्द से जल्द अपडेट करना चाहिए ताकि भविष्य में समस्या न हो!!!

इसके अलावा डेवलपर मित्रों को एक सुरक्षा सलाह: कभी भी उपयोगकर्ता इनपुट पर भरोसा न करें। log4j, fastjson और वर्तमान ReactRCE सभी इसी बिंदु पर असफल हुए। इसलिए वास्तविक व्यावसायिक विकास में खतरनाक स्थानों पर सख्त सत्यापन के लिए सैंडबॉक्स या व्हाइटलिस्ट जैसे तरीकों का उपयोग करें, त्रासदी से बचने के लिए!!!

कागज पर पढ़ना सतही लगता है, इस मामले को पूरी तरह समझने के लिए सावधानी से कार्य करना चाहिए।


संदर्भ

  • CVE-2025-55182 आधिकारिक घोषणा
  • React सुरक्षा सलाहकार
  • ejpir द्वारा GitHub PoC
  • React Server Components दस्तावेज़
टूल डाउनलोड करें