दो नए घोषित CVEs—React Server Components में CVE-2025-55182 और Next.js middleware में CVE-2025-29927—आधुनिक JavaScript स्टैक्स पर रिमोट-कोड एग्जीक्यूशन (remote-code execution) और ऑथेंटिकेशन बाईपास (authentication bypass) का रास्ता खोलते हैं। एक अकेला अनुरोध इन खामियों को ट्रिगर कर सकता है; केवल कॉन्फ़िगरेशन इन्हें रोकने में सक्षम नहीं है। जो टीमें React Server Components या Next.js middleware पर निर्भर हैं, उन्हें इन बग्स को अत्यंत महत्वपूर्ण (urgent) मानना चाहिए और तुरंत पैच लागू करने चाहिए।

लॉग्स में शोर भ्रामक क्यों है

हमने एक प्रोडक्शन Next.js साइट से एक महीने के एज लॉग्स (edge logs) निकाले। इस सेट में 8,900 अनुरोधों को दुर्भावनापूर्ण (malicious) के रूप में चिह्नित किया गया था। लगभग हर अनुरोध पहले ही प्रयास में विफल रहा। सबसे सामान्य URL /wp-admin/install.php था, जो 518 बार हिट हुआ, भले ही साइट WordPress नहीं चलाती है, PHP का उपयोग नहीं करती है, और उसमें कोई WordPress फ़ाइलें नहीं हैं।

ऑटोमेटेड स्कैनर इस तरह का ट्रैफ़िक उत्पन्न करते हैं। वे इंटरनेट पर अनुमानों की बौछार करते हैं, और निम्नलिखित की तलाश करते हैं:

  • सीक्रेट्स और कॉन्फ़िगरेशन फ़ाइलें – 64% प्रयास
  • PHP पैनल और शेल्स – 22%
  • WordPress पाथ्स – 11%
  • डेटाबेस टूल्स – 1%

ब्लॉक किए गए अनुरोधों की उच्च संख्या केवल आपको यह बताती है कि आप वह सॉफ़्टवेयर नहीं चला रहे हैं जिसकी बॉट्स उम्मीद करते हैं। यह इस बात की गारंटी नहीं देता कि आप जो एप्लिकेशन चला रहे हैं वह सुरक्षित है।

शांत, फ्रेमवर्क-स्तर के हमले

जब कोई हमलावर Next.js ऐप को निशाना बनाता है, तो ट्रैफ़िक सामान्य उपयोगकर्ता अनुरोधों जैसा दिखता है, जो फ्रेमवर्क के अपने तंत्र (mechanisms) का उपयोग उसके विरुद्ध करता है।

React2Shell (CVE-2025-55182)

React Server Components में एक खामी हमलावर को एक विशेष रूप से तैयार किया गया पेलोड (payload) इंजेक्ट करने की अनुमति देती है जिसे सर्वर कोड के रूप में इवैल्यूएट (evaluate) करता है। इसका परिणाम बिना किसी फ़ायरवॉल या वेब-एप्लिकेशन फ़िल्टर को बायपास किए पूर्ण रिमोट-कोड एग्जीक्यूशन होता है। यह भेद्यता (vulnerability) फ्रेमवर्क के अंदर मौजूद है; एकमात्र समाधान उस वर्ज़न में अपग्रेड करना है जिसमें इसका फिक्स शामिल हो।

Middleware Authorization Bypass (CVE-2025-29927)

Next.js middleware रिक्वेस्ट हेडर्स के आधार पर सुरक्षा जांच लागू कर सकता है। यह CVE दिखाता है कि एक हमलावर एक विशेष आंतरिक हेडर (internal header) प्रदान कर सकता है और middleware को उन जांचों को पूरी तरह से छोड़ने के लिए मजबूर कर सकता है। बाहर से अनुरोध सामान्य दिखता है, जिससे इसका पता लगाना कठिन हो जाता है।

दोनों बग्स दिखाते हैं कि सबसे खतरनाक ट्रैफ़िक रोज़मर्रा के ट्रैफ़िक में घुल-मिल सकता है, और उन अलार्मों से बच सकता है जो शोर मचाने वाले WordPress प्रोब्स को पकड़ लेते हैं।

जोखिम क्या हैं

  • डेवलपर्स जो फ्रेमवर्क अपडेट को वैकल्पिक मानते हैं, उनके सर्वर के पूरी तरह से हैक होने का जोखिम रहता है।
  • ऑपरेशन्स टीमें जो स्टैक को सुरक्षित करने के लिए स्टैटिक कॉन्फ़िगरेशन पर निर्भर करती हैं, वे उस कोड से नहीं बच सकतीं जो स्वयं फ्रेमवर्क के अंदर चलता है।

एक व्यावहारिक रक्षा चेकलिस्ट

  1. डिप्लॉयमेंट हाइजीन (Deployment hygiene).env जैसी फ़ाइलों में सीक्रेट्स न भेजें। उन्हें रनटाइम पर दिए गए एनवायरनमेंट वेरिएबल्स में या किसी समर्पित सीक्रेट-मैनेजमेंट सिस्टम में स्टोर करें।
  2. न्यूनतम अटैक सरफेस (Minimal attack surface) – उन फ्रेमवर्क फीचर्स को बंद कर दें जिनका आप उपयोग नहीं करते हैं। एक सख्त Content-Security-Policy लागू करें जो अनधिकृत स्क्रिप्ट्स की लोडिंग को ब्लॉक करे।
  3. त्वरित पैचिंग (Rapid patching) – बिल्ड पाइपलाइन को ऑटोमेट करें ताकि रिलीज़ होने के कुछ घंटों के भीतर नए फ्रेमवर्क वर्ज़न का परीक्षण और डिप्लॉयमेंट किया जा सके। सुरक्षा अपडेट को रिलीज़ चक्र का एक नियमित हिस्सा मानें, न कि बाद में किया जाने वाला कोई काम।

आगे क्या ध्यान रखें

  • React, Next.js, और आपके द्वारा उपयोग की जाने वाली किसी भी अन्य रनटाइम लाइब्रेरी के आधिकारिक सुरक्षा एडवाइजरी फीड्स को सब्सक्राइब करें।
  • ऐसे भेद्यता स्कैनर (vulnerability scanners) को एकीकृत करें जो JavaScript पैकेज मेटाडेटा को समझते हों, ताकि नया प्रकाशित CVE एक स्वचालित अलर्ट ट्रिगर कर सके।
  • एक रोलबैक-रेडी डिप्लॉयमेंट पाइपलाइन बनाएं; यदि कोई पैच रिग्रेशन (regressions) पैदा करता है, तो आप सिस्टम को असुरक्षित छोड़े बिना जल्दी से वापस जा सकते हैं।

सबक स्पष्ट है: आपके लॉग्स में सबसे तेज़ हमले अक्सर ध्यान भटकाने के लिए होते हैं। असली खतरा उस फ्रेमवर्क में छिपा होता है जिस पर आपका कोड भरोसा करता है। स्टैक को हल्का रखें, सीक्रेट्स को सुरक्षित रूप से स्टोर करें, और पैच को नियमित प्रक्रिया मानें, और आप शांत, फ्रेमवर्क-स्तर के खतरों को प्रबंधनीय जोखिमों में बदल देंगे।