
CVE-2025-55183 के लिए PoC
इस रिपॉज़िटरी में Next.js React Server Components (RSC) / Server Actions में सोर्स कोड प्रकटीकरण भेद्यता के लिए डिटेक्शन टूलिंग मौजूद है, जिसे CVE-2025-55183 के रूप में ट्रैक किया जाता है।
कमजोर अनुप्रयोगों में, सर्वर फ़ंक्शन के लिए एक क्राफ्टेड HTTP अनुरोध सर्वर को उस फ़ंक्शन का पूरा JavaScript सोर्स कोड लौटाने के लिए प्रेरित कर सकता है जब संदर्भ (reference) को स्ट्रिंग में बदला जाता है (उदाहरण के लिए, टेम्पलेट लिटरल या डेटाबेस क्वेरी में अंतर्निहित कोएर्शन के माध्यम से)।
React के फिक्स में सर्वर संदर्भों के लिए एक toString() ओवरराइड जोड़ा गया है जो वास्तविक फ़ंक्शन बॉडी के बजाय एक स्थिर प्लेसहोल्डर स्ट्रिंग लौटाता है। पुराने बिल्ड चलाने वाले अनुप्रयोग अभी भी सोर्स कोड लीक कर सकते हैं यदि सर्वर संदर्भों को प्रत्यक्ष या अप्रत्यक्ष रूप से स्ट्रिंग में बदलकर क्लाइंट को वापस भेजा जाता है।
⚠️ कानूनी नोटिस:
ये उपकरण केवल उन सिस्टमों पर सुरक्षा परीक्षण और शोध के लिए हैं जिनके स्वामी आप हैं या जिनके परीक्षण के लिए आपको स्पष्ट रूप से अधिकृत किया गया है। अनधिकृत स्कैनिंग या शोषण अवैध हो सकता है।
CVE-2025-55183.yaml_next/static/chunks/*.js फ़ाइलों का पता लगाता हैID: CVE-2025-55183
घटक: Next.js अनुप्रयोगों में React Server Components / Server Actions
प्रभाव: सर्वर-साइड JavaScript सोर्स कोड प्रकटीकरण
मूल कारण:
सर्वर संदर्भों (Server Functions) ने toString() को ओवरराइड नहीं किया था। जब ऐसे संदर्भ को किसी ऐसे कोड में तर्क के रूप में पारित किया गया जो उसे स्ट्रिंग में बदल देता है, तो उसका पूरा सोर्स कोड क्लाइंट को लौटाया जा सकता था (उदाहरण के लिए, एरर पथ, लॉगिंग, या क्वेरी-निर्माण तर्क के माध्यम से)।
फिक्स (अपस्ट्रीम):
React अब सर्वर संदर्भों पर एक toString डिस्क्रिप्टर स्थापित करता है जो एक स्थिर प्लेसहोल्डर जैसे लौटाता है:
function () { [omitted code] }
यह वास्तविक फ़ंक्शन बॉडी को उजागर होने से रोकता है, भले ही उसे स्ट्रिंग में बदला जाए।
अंतर्निहित React परिवर्तनों के विवरण के लिए, देखें:
894bc73cb493487c48d57f4508e6278db58e673a