NextJS का खेल खत्म... 13 नई कमियाँ (vulnerabilities)
원제 · Yeah it’s over for NextJS... 13 NEW vulnerabilities
핵심 요약
Next.js और React में 13 नई सुरक्षा कमियों के कारण संवेदनशील डेटा लीक और सर्वर शटडाउन का गंभीर जोखिम है, जिसे केवल नवीनतम वर्ज़न पर अपडेट करके ही ठीक किया जा सकता है।
하이라이트
React और Next.js में कुल 13 नई कमियां (CVEs) पाई गई हैं, जिनमें से 6 'हाई' गंभीरता की श्रेणी में आती हैं।
i18n सक्षम होने पर Next.js का मिडलवेयर 'slash secret' जैसे बेस रूट्स की रक्षा करने में विफल रहता है, जिससे अनधिकृत यूज़र्स को डेटा मिल सकता है।
रिएक्ट सर्वर कंपोनेंट्स में एक खामी हमलावर को 20 करोड़ स्ट्रिंग तुलनाएं कराकर सर्वर थ्रेड को ब्लॉक करने और 'डिनायल ऑफ सर्विस' की अनुमति देती है।
एक SSRF भेद्यता (CVE-2024-34351) के कारण हमलावर Next.js सर्वर के माध्यम से इंटरनल नेटवर्क सर्विसेज और डेटाबेस तक पहुँच प्राप्त कर सकते हैं।
Next.js स्क्रिप्ट टैग में 'beforeInteractive' रणनीति और JSON.stringify के उपयोग से हमलावर दुर्भावनापूर्ण जावास्क्रिप्ट इंजेक्ट कर सकते हैं।
타임라인
सुरक्षा संकट और प्रभावित फ्रेमवर्क्स
सर्वर कंपोनेंट्स के कार्यान्वयन में आई जटिलताओं ने सुरक्षा के नए जोखिम पैदा किए हैं। प्रभावित वर्ज़न का उपयोग करने वाले सभी एप्लिकेशन्स को तुरंत अपडेट करने की सलाह दी गई है। यह इस साल का तीसरा बड़ा सुरक्षा अलर्ट है जो रिएक्ट सर्वर कंपोनेंट्स से संबंधित है।
- React और Next.js के मौजूदा इकोसिस्टम में 13 अलग-अलग सुरक्षा भेद्यताएं मौजूद हैं।
- इन समस्याओं में मिडलवेयर बायपास, क्रॉस-साइट स्क्रिप्टिंग और डिनायल ऑफ सर्विस शामिल हैं।
- TanStack जैसे कुछ वैकल्पिक फ्रेमवर्क्स इन विशिष्ट सुरक्षा मुद्दों से प्रभावित नहीं हैं।
मिडलवेयर और i18n प्रॉक्सी बायपास
जब i18n सक्षम होता है, तो 'slash secret' जैसा रूट सुरक्षित नहीं रहता जबकि उसके लोकेल वर्ज़न (जैसे /en/secret) सुरक्षित हो सकते हैं। हमलावर '_next/data' URL और बिल्ड आईडी का उपयोग करके सीधे JSON डेटा प्राप्त कर सकते हैं। यह 10 में से 7.5 की गंभीरता रेटिंग वाली समस्या है।
- i18n (अंतर्राष्ट्रीयकरण) कॉन्फ़िगरेशन वाले एप्लिकेशन्स में मिडलवेयर सुरक्षा को बायपास किया जा सकता है।
- एक साधारण URL बदलाव के माध्यम से सर्वर-साइड प्रॉप्स जैसे संवेदनशील डेटा को बिना लॉगिन के एक्सेस करना संभव है।
- Next.js का मैचर कोड बेस केस रूट्स की सुरक्षा करने में विफल रहता है जब लोकेल वेरिएंट्स सक्रिय होते हैं।
सर्वर कंपोनेंट्स में डिनायल ऑफ सर्विस (DoS)
हमलावर पेलोड में हजारों पॉइंटर्स और रैंडम कीज़ जोड़कर CPU पर अत्यधिक बोझ डाल सकते हैं। सुधार के बाद, ऑपरेशन्स की संख्या $k*n$ से घटकर $n+k$ हो गई है, जिससे थ्रेड ब्लॉकिंग का जोखिम कम हुआ है। यह समस्या मुख्य रूप से Next.js और रिएक्ट सर्वर DOM पैकेज का उपयोग करने वाले फ्रेमवर्क्स को प्रभावित करती है।
- रिएक्ट फ्लाइट प्रोटोकॉल में डी-सीरियलाइजेशन की प्रक्रिया सर्वर को धीमा करने के लिए इस्तेमाल की जा सकती है।
- लाखों कीज़ वाले पेलोड भेजने से सर्वर रिस्पांस समय 0.02 सेकंड से बढ़कर 6 सेकंड तक हो सकता है।
- कर्सर-बेस्ड सिस्टम की कमी के कारण सर्वर को बार-बार पूरी की-लिस्ट को पार करना पड़ता है।
सर्वर-साइड रिक्वेस्ट फोर्जरी (SSRF) भेद्यता
Next.js का रूट रिसॉल्वर 'request-target' को ठीक से गार्ड नहीं करता था, जिससे वह आंतरिक नेटवर्क के URL को भी प्रोसेस कर लेता था। नए सुधार में स्टेटस कोड और फिनिश्ड बुलियन जैसे नए चेक जोड़े गए हैं जो अवैध प्रॉक्सी रिक्वेस्ट को रोकते हैं। ध्यान देने योग्य है कि Vercel पर होस्ट किए गए एप्लिकेशन्स इस विशिष्ट हमले से सुरक्षित पाए गए थे।
- सेल्फ-होस्टेड Next.js एप्लिकेशन्स में 10 में से 8.6 गंभीरता वाला SSRF जोखिम मौजूद है।
- हमलावर 'upgrade websocket' हेडर का उपयोग करके Next.js सर्वर को इंटरनल सर्विसेज के लिए प्रॉक्सी के रूप में इस्तेमाल कर सकते हैं।
- यह खामी बाहरी हमलावरों को फायरवॉल के पीछे छिपे डेटाबेस और Redis सर्वर तक पहुँच प्रदान करती है।
कैश पॉइज़निंग और XSS हमले
कैश पॉइज़निंग हमलावरों को वैध यूज़र्स के लिए वेबसाइट का स्वरूप बदलने की अनुमति देता है। क्रॉस-साइट स्क्रिप्टिंग (XSS) के माध्यम से यूज़र की सेशन कुकीज़ चुराई जा सकती हैं। 'beforeInteractive' रणनीति का उपयोग करने वाले स्क्रिप्ट टैग विशेष रूप से असुरक्षित पाए गए हैं क्योंकि वे सीधे अनट्रस्टेड इनपुट को रेंडर करते हैं।
- क्वेरी स्ट्रिंग में हेरफेर करके सर्वर कंपोनेंट डेटा को HTML के रूप में कैश कराया जा सकता है।
- स्क्रिप्ट टैग्स में गलत एस्केपिंग के कारण फर्जी लॉगिन फॉर्म इंजेक्ट किए जा सकते हैं।
- JSON.stringify क्लोजिंग HTML ब्रैकेट्स को एस्केप नहीं करता, जिससे स्क्रिप्ट इंजेक्शन आसान हो जाता है।
설명
Next.js ने अभी-अभी एक सुरक्षा अपडेट जारी किया है जिसमें 13 CVEs को ठीक किया गया है — जिनमें से 6 बहुत ही गंभीर हैं। इस वीडियो में, हम मिडलवेयर बाईपास (middleware bypasses), React Flight प्रोटोकॉल के ज़रिए डिनायल ऑफ़ सर्विस (denial of service), सर्वर-साइड रिक्वेस्ट फोर्जरी (SSRF), और क्रॉस-साइट स्क्रिप्टिंग (XSS) के बारे में विस्तार से बात करेंगे। क्या सर्वर कंपोनेंट्स एक गलती थे? 🔗 संबंधित लिंक सुरक्षा ब्लॉग: [https://vercel.com/changelog/next-js-may-2026-security-release](https://vercel.com/changelog/next-js-may-2026-security-release) ❤️ हमारे बारे में और जानें बेहतर ऑब्ज़र्वेबिलिटी स्टैक: [https://betterstack.com/](https://betterstack.com/) लिखित ट्यूटोरियल: [https://betterstack.com/community/](https://betterstack.com/community/) उदाहरण प्रोजेक्ट्स: [https://github.com/BetterStackHQ](https://github.com/BetterStackHQ) 📱 सोशल मीडिया Twitter: [https://twitter.com/betterstackhq](https://twitter.com/betterstackhq) Instagram: [https://www.instagram.com/betterstackhq/](https://www.instagram.com/betterstackhq/) TikTok: [https://www.tiktok.com/@betterstack](https://www.tiktok.com/@betterstack) LinkedIn: [https://www.linkedin.com/company/betterstack](https://www.linkedin.com/company/betterstack) 📌 अध्याय: 00:00 परिचय 00:41 मिडलवेयर बाईपास 03:50 डिनायल ऑफ़ सर्विस 07:50 रिक्वेस्ट फोर्जरी (सबसे गंभीर) 10:57 कैश पॉइज़निंग 12:45 क्रॉस-साइट स्क्रिप्टिंग (XSS) 15:09 एक गलती
