FixVibe
Covered by FixVibemedium

Next.js सुरक्षा हेडर नेक्स्ट.config.js में गलत कॉन्फ़िगरेशन

यदि पथ-मिलान पैटर्न सटीक नहीं हैं, तो हेडर प्रबंधन के लिए Next.config.js का उपयोग करने वाले Next.js एप्लिकेशन सुरक्षा अंतराल के लिए अतिसंवेदनशील होते हैं। यह शोध इस बात का पता लगाता है कि कैसे वाइल्डकार्ड और रेगेक्स गलत कॉन्फ़िगरेशन के कारण संवेदनशील मार्गों पर सुरक्षा हेडर गायब हो जाते हैं और कॉन्फ़िगरेशन को कैसे सख्त किया जा सकता है।

CWE-1021CWE-200

प्रभाव

क्लिकजैकिंग, क्रॉस-साइट स्क्रिप्टिंग (XSS), या सर्वर वातावरण [S2] के बारे में जानकारी इकट्ठा करने के लिए गुम सुरक्षा हेडर का फायदा उठाया जा सकता है। जब Content-Security-Policy (CSP) या X-Frame-Options जैसे हेडर सभी मार्गों पर असंगत रूप से लागू होते हैं, तो हमलावर साइट-व्यापी सुरक्षा नियंत्रण ZXCVFIXVIBTOKEN3ZXCV को बायपास करने के लिए विशिष्ट असुरक्षित पथों को लक्षित कर सकते हैं।

मूल कारण

Next.js डेवलपर्स को headers प्रॉपर्टी [S2] का उपयोग करके next.config.js में प्रतिक्रिया हेडर कॉन्फ़िगर करने की अनुमति देता है। यह कॉन्फ़िगरेशन पथ मिलान का उपयोग करता है जो वाइल्डकार्ड और नियमित अभिव्यक्ति [S2] का समर्थन करता है। सुरक्षा कमजोरियाँ आमतौर पर निम्न से उत्पन्न होती हैं:

  • अधूरा पथ कवरेज: वाइल्डकार्ड पैटर्न (उदाहरण के लिए, /path*) सभी इच्छित सबरूट्स को कवर नहीं कर सकता है, जिससे नेस्टेड पेज बिना सुरक्षा हेडर ZXCVFIXVIBTOKEN1ZXCV के रह जाते हैं।
  • सूचना प्रकटीकरण: डिफ़ॉल्ट रूप से, Next.js में ZXCVFIXVIBTOKEN0ZXCV हेडर शामिल हो सकता है, जो फ्रेमवर्क संस्करण को प्रकट करता है जब तक कि ZXCVFIXVIBTOKEN1ZXCV कॉन्फ़िगरेशन ZXCVFIXVIBTOKEN2ZXCV के माध्यम से स्पष्ट रूप से अक्षम न किया जाए।
  • ZXCVFIXVIBTOKEN3ZXCV गलत कॉन्फ़िगरेशन: ZXCVFIXVIBTOKEN1ZXCV सरणी के भीतर अनुचित रूप से परिभाषित ZXCVFIXVIBTOKEN0ZXCV हेडर संवेदनशील डेटा ZXCVFIXVIBTOKEN2ZXCV तक अनधिकृत क्रॉस-ओरिजिन एक्सेस की अनुमति दे सकते हैं।

ठोस सुधार

  • ऑडिट पथ पैटर्न: सुनिश्चित करें कि ZXCVFIXVIBTOKEN1ZXCV में सभी ZXCVFIXVIBTOKEN0ZXCV पैटर्न वैश्विक स्तर पर हेडर लागू करने के लिए उपयुक्त वाइल्डकार्ड (उदाहरण के लिए, ZXCVFIXVIBTOKEN2ZXCV) का उपयोग करें जहां ZXCVFIXVIBTOKEN3ZXCV।
  • फिंगरप्रिंटिंग अक्षम करें: X-Powered-By हेडर को [S2] भेजे जाने से रोकने के लिए next.config.js में poweredByHeader: false सेट करें।
  • CORS को प्रतिबंधित करें: headers कॉन्फ़िगरेशन [S2] में वाइल्डकार्ड के बजाय विशिष्ट विश्वसनीय डोमेन पर Access-Control-Allow-Origin सेट करें।

FixVibe इसका परीक्षण कैसे करता है

FixVibe एप्लिकेशन को क्रॉल करके और विभिन्न मार्गों के सुरक्षा हेडर की तुलना करके एक सक्रिय गेटेड जांच कर सकता है। X-Powered-By हेडर और विभिन्न पथ गहराई में Content-Security-Policy की स्थिरता का विश्लेषण करके, FixVibe next.config.js में कॉन्फ़िगरेशन अंतराल की पहचान कर सकता है।