हांगकांग वेबसाइटों को Nuxt XSS(CVE202646342) से सुरक्षित करें

Npm nuxt Npm में क्रॉस साइट स्क्रिप्टिंग (XSS)
प्लगइन का नाम नक्स्ट
कमजोरियों का प्रकार क्रॉस-साइट स्क्रिप्टिंग (XSS)
CVE संख्या CVE-2026-46342
तात्कालिकता कम
CVE प्रकाशन तिथि 2026-05-20
स्रोत URL CVE-2026-46342

__nuxt_island कैश विषाक्तता और XSS — क्यों नक्स्ट फ्रंटेंड का उपयोग करने वाली वर्डप्रेस साइटों को तुरंत कार्रवाई करनी चाहिए

द्वारा: हांगकांग सुरक्षा विशेषज्ञ

सारांश: नक्स्ट ने एक सुरक्षा कमजोरी को ठीक किया जहां __nuxt_island एंडपॉइंट ने अनुरोध प्रॉप्स के लिए प्रतिक्रियाओं को बंधित नहीं किया, जिससे साझा-कैश विषाक्तता की अनुमति मिली जो नक्स्ट SSR या साझा कैश के साथ द्वीपों का उपयोग करने वाली साइटों के लिए संग्रहीत या परावर्तित क्रॉस-साइट स्क्रिप्टिंग (XSS) का कारण बन सकती है। नक्स्ट फ्रंटेंड (हेडलैस, हाइब्रिड, JAMstack) के साथ वर्डप्रेस बैकएंड या साझा CDN/प्रॉक्सी के पीछे की साइटें जोखिम में हैं। यह लेख समस्या, वास्तविक शोषण परिदृश्यों और हांगकांग के सुरक्षा प्रैक्टिशनर के दृष्टिकोण से वर्डप्रेस टीमों के लिए व्यावहारिक शमन को समझाता है।.

CVE: CVE-2026-46342 — सलाह: GHSA-g8wj-3cr3-6w7v — प्रभावित नक्स्ट संस्करण: >= 4.0.0-alpha.1, <= 4.4.5 — पैच किया गया: 4.4.6


क्यों वर्डप्रेस साइट के मालिकों को परवाह करनी चाहिए (भले ही वर्डप्रेस स्वयं नक्स्ट न हो)

हांगकांग और वैश्विक स्तर पर, वर्डप्रेस विविध वितरण आर्किटेक्चर में उपयोग किया जाता है:

  • पारंपरिक: वर्डप्रेस HTML सर्वर-साइड पर रेंडर करता है और इसे सीधे सेवा करता है।.
  • हेडलैस / हाइब्रिड: वर्डप्रेस सामग्री बैकएंड (REST API / GraphQL) है और एक JS फ्रेमवर्क (जैसे नक्स्ट) SSR, क्रमिक पुनर्जनन, या “द्वीपों” के साथ फ्रंटेंड को रेंडर करता है।.
  • CDN और कैश-भारी सेटअप: साइटें CDNs और रिवर्स प्रॉक्सी के पीछे बैठती हैं जो प्रदर्शन के लिए प्रतिक्रियाओं को कैश करती हैं।.

यदि आपकी वर्डप्रेस साइट नक्स्ट फ्रंटेंड का उपयोग करती है, या यदि नक्स्ट-प्रबंधित मार्ग उसी होस्टनाम और कैशिंग परत से वर्डप्रेस सामग्री के रूप में सेवा की जाती है, तो नक्स्ट कैश-विषाक्तता की समस्या दुर्भावनापूर्ण HTML/JS को इंजेक्ट कर सकती है जिसे ब्राउज़र पृष्ठ लोड होने पर निष्पादित करते हैं। परिणामों में XSS, क्रेडेंशियल चोरी, विज्ञापन इंजेक्शन, या आगे का समझौता शामिल हैं। यहां तक कि शुद्ध-वर्डप्रेस साइटों को भी जागरूक होना चाहिए: मिश्रित स्टैक जो CDN या प्रॉक्सी साझा करते हैं, एक कमजोर नक्स्ट मार्ग से क्रॉस-इम्पैक्ट का सामना कर सकते हैं।.


वास्तव में क्या गलत हुआ: तकनीकी व्याख्या (सादा और विस्तृत)

नक्स्ट की द्वीप आर्किटेक्चर एक एंडपॉइंट को उजागर करती है: __nuxt_island. यह एंडपॉइंट “प्रॉप्स” ले जाने वाले अनुरोधों को स्वीकार करता है जो द्वीपों (छोटे SSR टुकड़े) को रेंडर करने के लिए उपयोग किए जाते हैं। बग दो विफलताओं को मिलाता है:

  1. Nuxt ने के लिए रेंडर किया हुआ HTML लौटाया __nuxt_island अनुरोध।.
  2. मध्यवर्ती कैश (CDNs, रिवर्स प्रॉक्सी, एज कैश) द्वारा उपयोग किया गया प्रतिक्रिया कैश कुंजी विश्वसनीय रूप से अनुरोध प्रॉप्स को शामिल नहीं करता था, इसलिए विभिन्न अनुरोध एक ही कैश प्रविष्टि से मैप हो सकते थे।.

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

प्रमुख तकनीकी बिंदु:

  • एक कैश कुंजी को उपयोगकर्ता-विशिष्ट या अनुरोध-विशिष्ट प्रतिक्रियाओं को अलग करना चाहिए। यदि ऐसा नहीं होता है, तो उपयोगकर्ताओं को दूसरों के लिए निर्धारित सामग्री प्राप्त होती है।.
  • SSR एंडपॉइंट्स के लिए जो गतिशील फ़्रैगमेंट्स को रेंडर करते हैं, कैश कुंजी को प्रॉप्स शामिल करना चाहिए या एंडपॉइंट को साझा कैशिंग से बाहर निकलना चाहिए (Cache-Control: private / no-store)।.
  • XSS तब होता है जब अविश्वसनीय इनपुट HTML/JS तक सही एस्केपिंग के बिना पहुँचता है; साझा कैश प्रभाव को गुणा करते हैं।.

एक WordPress + Nuxt फ्रंटेंड के खिलाफ यथार्थवादी हमले का परिदृश्य

सामान्य तैनाती:

  • WordPress REST API के माध्यम से सामग्री प्रदान करता है।.
  • Nuxt फ्रंटेंड SSR करता है, डेटा का अनुरोध करता है और द्वीपों को रेंडर करता है __nuxt_island.
  • साइट एक सामान्य डोमेन से सेवा की जाती है जो Nuxt सर्वर से प्रतिक्रियाओं को कैश करने वाले CDN का उपयोग करती है।.

हमलावर द्वारा उठाए जा सकने वाले शोषण के कदम:

  1. एक खोजें __nuxt_island एंडपॉइंट जो हमलावर-नियंत्रित इनपुट को क्वेरी पैरामीटर या प्रॉप्स के रूप में उपयोग किए गए अनुरोध बॉडी के माध्यम से स्वीकार करता है।.
  2. प्रॉप्स तैयार करें जिसमें एक XSS पेलोड हो जो फ़्रैगमेंट में एस्केपिंग के बिना रेंडर किया जाएगा।.
  3. अनुरोध को CDN के माध्यम से भेजें और CDN को साझा कुंजी के तहत प्रतिक्रिया को कैश करने का कारण बनाएं।.
  4. बाद के आगंतुकों को ज़हरीला HTML प्राप्त होता है और हमलावर का स्क्रिप्ट उनके ब्राउज़रों में निष्पादित होता है।.

संभावित परिणाम:

  • यदि कुकीज़ मौजूद हैं तो क्रेडेंशियल चोरी।.
  • फ्रंट-एंड पर जाने वाले प्रशासकों या संपादकों के लिए सत्र चोरी।.
  • डाले गए विज्ञापनों या रीडायरेक्ट से SEO और ब्रांड को नुकसान।.
  • इंजेक्टेड स्क्रिप्ट या रीडायरेक्ट के माध्यम से मैलवेयर का वितरण।.

तात्कालिक कदम (आज क्या करें - प्राथमिकता के अनुसार)

यदि आपकी साइट प्रभावित हो सकती है (आप Nuxt फ्रंटेंड का उपयोग करते हैं, या एक CDN/प्रॉक्सी जो Nuxt रूट्स को सर्व करता है), तो तुरंत इस अनुक्रम का पालन करें:

  1. Nuxt को अपग्रेड करें पैच किए गए रिलीज़ (4.4.6 या बाद में) पर। यह निश्चित समाधान है; फ्रंटेंड टीमों के साथ समन्वय करें और अब अपग्रेड का कार्यक्रम बनाएं।.
  2. साझा कैशिंग को निष्क्रिय करें के लिए __nuxt_island CDN/एज/प्रॉक्सी पर एंडपॉइंट्स: कैश को बायपास करने के लिए पथ-आधारित नियमों को कॉन्फ़िगर करें या सेट करें कैश-नियंत्रण जोड़कर कोई-स्टोर / निजी जब तक आप अपग्रेड नहीं करते।.
  3. मूल प्रतिक्रिया हेडर सेट करें द्वीप रूट्स के लिए: उपयोग करें कैश-नियंत्रण: निजी, कोई-स्टोर, अधिकतम-उम्र=0 या एस-मैक्सएज=0, और उपयुक्त जोड़ें भिन्नता हेडर/कुकीज़ के लिए हेडर जो आप बदलते हैं।.
  4. WAF नियम लागू करें (या CDN एज फ़िल्टरिंग) संदिग्ध प्रॉप्स को ब्लॉक या मॉनिटर करने के लिए: स्क्रिप्ट टैग या क्वेरी/बॉडी में एन्कोडेड स्क्रिप्ट पैटर्न वाले अनुरोधों को फ्लैग या ब्लॉक करें।.
  5. कैश और ऑडिट लॉग को साफ करें: किसी भी कैश किए गए द्वीप प्रतिक्रियाओं को हटा दें, और संदिग्ध के लिए लॉग खोजें __nuxt_island पेलोड्स जैसे अनुरोध जो शामिल हैं or encoded equivalents.
  6. Review server-side rendering paths that use user input and ensure proper escaping/encoding of props.
  7. Inform stakeholders (developers, hosting, CDN admins) about the vulnerability and actions taken.

WAF strategy & sample rules (practical examples)

Below are conservative example rules to use as a starting point. Test in detection mode before blocking to avoid false positives.

1. Block or challenge requests with script-like content

IF request.path CONTAINS "__nuxt_island"
AND request.method IN ("GET","POST")
AND (
  request.query_string CONTAINS "

2. Reject serialized HTML/JS in props

IF request.path CONTAINS "__nuxt_island"
AND request.params.props MATCHES "(<[^>]+>|%3C[^%]+%3E|javascript:|on[a-z]+=)"
THEN log & block

3. Enforce origin cache-control for island routes

For responses to __nuxt_island, set:

  • Cache-Control: private, no-store, max-age=0
  • Surrogate-Control: no-store (for CDNs that honor it)

4. Rate-limit suspicious island requests

IF request.path CONTAINS "__nuxt_island"
AND requests_from_ip > 10 per minute
THEN rate-limit or block

5. Monitor for inline scripts in cached responses

Alert on edge logs where responses for island routes include inline