Undici CVE-2026-22036: अनबाउंड डिकंप्रेशन चेन संसाधन समाप्ति की अनुमति देती है — पैच जारी किए गए
What happened
- 14 जनवरी, 2026 को undici प्रोजेक्ट ने एक सुरक्षा सलाह (CVE-2026-22036 / GHSA-g9mf-h72j-4rw9) प्रकाशित की: कुछ HTTP प्रतिक्रियाएँ जिनमें तैयार किए गए Content‑Encoding हेडर होते हैं, अनबाउंड डिकंप्रेशन चेन बना सकते हैं, जिससे एक दुर्भावनापूर्ण सर्वर क्लाइंट्स में अत्यधिक CPU कार्य और मेमोरी आवंटन को मजबूर कर सकता है जो स्वचालित रूप से प्रतिक्रियाओं को डिकंप्रेस करते हैं। पैच किए गए रिलीज उपलब्ध हैं। (github.com)
Why full‑stack teams must care
- Undici Node.js के लिए डि फैक्टो उच्च-प्रदर्शन HTTP/1.1 क्लाइंट है और इसे कई सर्वर-साइड सेवाओं में सीधे और पारगमन निर्भरताओं और रनटाइम के माध्यम से अप्रत्यक्ष रूप से उपयोग किया जाता है जो इसे बंडल करते हैं। एक दूरस्थ सर्वर (या कोई भी अपस्ट्रीम जिसे आपकी सेवा बात करती है) HTTP क्लाइंट में संसाधन समाप्ति को ट्रिगर कर सकता है जो अंधाधुंध रूप से मनमाने लंबे Content‑Encoding चेन को स्वीकार करता है — यह दोनों एज सर्वरों और बैकएंड सेवाओं के लिए एक उपलब्धता (DoS) जोखिम है जो तीसरे पक्ष के APIs को कॉल करते हैं।
- यह भेद्यता प्रतिक्रिया हैंडलिंग (उपलब्धता) को प्रभावित करती है, डेटा गोपनीयता को नहीं। फिर भी, उपलब्धता की घटनाएँ आउटेज, स्केलिंग तूफान, और माइक्रोसर्विस ग्राफ में कैस्केडिंग विफलताओं का कारण बनती हैं — इसलिए इंटरनेट-फेसिंग और आंतरिक सेवाओं के लिए पैच करना आवश्यक है जो अविश्वसनीय अपस्ट्रीम प्रतिक्रियाएँ स्वीकार करते हैं।
Affected and fixed versions (short)
- प्रभावित: undici संस्करण < 6.23.0 और 7.0.0 <= संस्करण < 7.18.2 (सटीक रेंज के लिए सलाह देखें)।
- पैच किया गया: 6.23.0 या 7.18.2 (या बाद के 7.x रिलीज) पर अपग्रेड करें। (github.com)
Practical, high‑impact checklist for teams (what to do now)
-
Inventory quickly
- चलाएँ: npm/yarn/pnpm का निर्भरता पेड़ जांचें undici (प्रत्यक्ष और पारगमन) को खोजने के लिए।
- उदाहरण जांच: npm ls undici || pnpm why undici।
- कंटेनर बेस इमेज और सर्वर रनटाइम की जांच करें (कुछ Node बिल्ड undici को बंडल करते हैं); अपने Docker इमेज की जांच करें कि क्या इसमें vendored undici या Node इमेज शामिल हैं।
- चलाएँ: npm/yarn/pnpm का निर्भरता पेड़ जांचें undici (प्रत्यक्ष और पारगमन) को खोजने के लिए।
-
Upgrade where you control the dependency
- प्रत्यक्ष निर्भरता: undici को >= 7.18.2 (या 6.23.0 यदि आपको 6.x पर बने रहना है) पर बढ़ाएँ, फिर पुनर्निर्माण और पुनः तैनात करें।
- पारगमन निर्भरता: undici लाने वाले शीर्ष-स्तरीय पैकेज को अपडेट करने को प्राथमिकता दें; जहाँ संभव न हो, पैकेज-प्रबंधक ओवरराइड (npm/yarn/pnpm) या समाधान नियमों का उपयोग करें ताकि आपके लॉकफाइल में पैच किया गया undici संस्करण लागू हो सके।
-
For Node runtimes that bundle undici
- अपने Node.js रिलीज नोट्स या विक्रेता बिल्ड की जांच करें कि बंडल किया गया undici संस्करण क्या है। यदि बंडल किया गया undici भेद्य है, तो अपने विक्रेता से सुरक्षा-पैच किए गए रनटाइम पर Node को अपग्रेड करें (या विक्रेता मार्गदर्शन लागू करें)।
- यदि आप तुरंत Node को अपग्रेड नहीं कर सकते हैं, तो नीचे वर्णित एप्लिकेशन-स्तरीय शमन का उपयोग करें।
-
Add lightweight runtime mitigations (defense‑in‑depth)
- यदि आप HTTP क्लाइंट कोड को नियंत्रित करते हैं, तो एक डिकंप्रेशन/प्रतिक्रिया इंटरसेप्टर जोड़ें जो लंबे या असंभव Content‑Encoding चेन को अस्वीकार करता है (कोडिंग की संख्या को सीमित करें)।
- undici में, आप Content‑Encoding हेडर की जांच करने और डिकंप्रेशन चलने से पहले संदिग्ध चेन को अस्वीकार या ट्रंक करने के लिए एक इंटरसेप्टर जोड़ सकते हैं।
- HTTP प्रतिक्रियाओं पर उचित प्रतिक्रिया आकार सीमाएँ और समय सीमाएँ लागू करके मेमोरी फुटप्रिंट और CPU को सीमित करें (जैसे, maxHeaderSize, प्रतिक्रिया समय सीमाएँ) जहाँ लागू हो।
-
CI, containers, and orchestration
- सुनिश्चित करें कि आपका CI पाइपलाइन लॉकफाइल को मान्य करता है और यदि एक पुराना undici पेश किया जाता है तो विफल हो जाता है।
- कंटेनर इमेज को पुनर्निर्माण करें और नियंत्रित ताल पर महत्वपूर्ण सेवाओं को पुनः तैनात करें (canary → rollout) ताकि बिना सत्यापन के एक ब्रेकिंग परिवर्तन को व्यापक रूप से न लाया जा सके।
-
Detection and monitoring
- रन-टाइम मैट्रिक्स जोड़ें या समीक्षा करें: प्रति अनुरोध CPU, अनुरोध विलंबता, आउटबाउंड HTTP कॉल के बाद मेमोरी वृद्धि।
- आउटबाउंड फेच कॉल या विशिष्ट अपस्ट्रीम होस्ट से संबंधित अप्रत्याशित स्पाइक्स के लिए अलार्म जोड़ें। घटना विंडो के दौरान फेच गंतव्यों के ऑडिट लॉग दुर्भावनापूर्ण अपस्ट्रीम की पहचान करने में मदद कर सकते हैं।
Why this is high‑value to act on now
- यह एक उपलब्धता/DoS वेक्टर है जिसे आपके कोड द्वारा कॉल किए गए किसी भी सर्वर द्वारा दूर से ट्रिगर किया जा सकता है। भले ही शोषण मध्यम रूप से जटिल हो, माइक्रोसर्विस आर्किटेक्चर में विस्फोटक दायरा बड़ा है: एक हमलावर या गलत कॉन्फ़िगर किया गया अपस्ट्रीम कई कॉलर्स पर लगातार उच्च CPU/मेमोरी का कारण बन सकता है।
- पैच करना सीधा है (संस्करण अपग्रेड या सरल इंटरसेप्टर) और तत्काल सुरक्षा प्रदान करता है; इसे निगरानी और लॉकफाइल स्वच्छता के साथ मिलाकर रिग्रेशन से बचें।
One‑line remediation
- undici को पैच किए गए संस्करण (6.23.0 या >=7.18.2) पर अपग्रेड करें, इमेज को पुनर्निर्माण करें, और तैनात करें; यदि आप तुरंत अपग्रेड नहीं कर सकते हैं, तो लंबे Content‑Encoding चेन को अस्वीकार करने और सख्त प्रतिक्रिया आकार/समय सीमाएँ लागू करने के लिए एक undici इंटरसेप्टर जोड़ें। (github.com)
Source
- Undici सुरक्षा सलाह: GHSA-g9mf-h72j-4rw9 (CVE‑2026‑22036)। (github.com)
Source
आगे पढ़ें
Chrome 143 में FedCM में परिवर्तन: संरचित ID दावे, कड़े क्लाइंट मेटाडेटा, और ब्रेकिंग API अपडेट
31 जनवरी 2026Chrome 143 (12 जनवरी, 2026 को प्रकाशित) FedCM पहचान प्रवाह में परिवर्तन करता है: ID दावा टोकन संरचित JSON हो सकते हैं, क्लाइंट_मेटाडेटा सत्यापन लागू किया गया है, और कई API फ़ील्ड स्थानांतरित/नामांकित किए गए हैं — Chrome 145 से पहले माइग्रेशन आवश्यक है।
React Router / Remix CSRF सुरक्षा दोष सर्वर क्रियाओं में (CVE-2026-22030)
29 जनवरी 2026React Router और @remix-run/server-runtime ने सर्वर-साइड क्रिया हैंडलरों और अस्थिर React सर्वर क्रियाओं को प्रभावित करने वाले मध्यम-गंभीर CSRF मुद्दे को पैच किया - जो पूर्ण-स्टैक टीमों को अब जांचना और पैच करना चाहिए।
GitHub Actions 1‑vCPU Linux रनर अब सामान्य रूप से उपलब्ध
28 जनवरी 2026GitHub ने GitHub Actions में एक नया कम लागत वाला, कंटेनराइज्ड 1‑vCPU Linux रनर (ubuntu-slim) सामान्य रूप से उपलब्ध कराया है — पूर्ण-स्टैक टीमों को क्या जानना चाहिए और पहले क्या करना चाहिए।