HeadlinesBriefing HeadlinesBriefing.com

QPACK एम्पलीफिकेशन हमले HTTP/3 सर्वरों को खतरे में डालते हैं

Hacker News •
×

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

QPACK HTTP/3 हेडर को संपीड़ित करता है ताकि नेटवर्क पर भेजा जाने वाला ट्रैफ़िक कम से कम हो। प्रभावित कार्यान्वयनों में, डिकोड किए गए हेडर की सीमाएँ या तो गायब हैं, अधूरी हैं, या बहुत देर से लागू होती हैं। इसलिए एक छोटा HEADERS फ्रेम मेमोरी में सैकड़ों हज़ार हेडर ऑब्जेक्ट में फैल सकता है। इस विस्तार को रोकने के लिए फ़ील्ड को डिकोड और संरक्षित करते समय संचयी बजट लागू करना आवश्यक है।

यह शोध TLS स्कैनर JA4Scan के लिए QUIC स्टैक का अध्ययन करते समय शुरू हुआ, जहाँ कई HTTP/3 कार्यान्वयनों में एक ही प्रकार की कमज़ोरी दिखी। RFC 9114 बताता है कि सर्वरों को डिकोड किए गए हेडर के आकार को कैसे सीमित करना चाहिए, लेकिन कुछ कार्यान्वयन केवल संपीड़ित फ्रेम का आकार जाँचते हैं, जाँच से पहले सब कुछ डीकंप्रेस कर देते हैं, प्रति फ़ील्ड 32-बाइट ओवरहेड को छोड़ देते हैं, सेटिंग कॉन्फ़िगर न होने पर असीमित मान लेते हैं, या सेटिंग को कभी लागू नहीं करते।

यह हमला दो दिशाओं में काम करता है। 1,000,000 बाइट का HEADERS फ्रेम लगभग 160,000 अलग-अलग हेडर रख सकता है, जबकि डायनामिक टेबल वेरिएंट एक बड़ी प्रविष्टि डालता है और उसे एक-बाइट इंडेक्स से हज़ारों बार संदर्भित करता है, जिससे lsquic और Bun में 4064:1 का अनुपात बनता है।

quic-go, Cloudflare quiche, lsquic और Wireshark के लिए सुधार उपलब्ध हैं। 20 अक्टूबर 2026 तक Bun, h3 crate और aioquic/mitmproxy अनपैच्ड रहे। बचाव के उपायों में HTTP/3 सर्वरों को सार्वजनिक न करना, mitmproxy में HTTP/3 बंद करना, और h3 में उचित max_field_section_size सेट करना शामिल हैं। IIS, Envoy और ngtcp2/nghttp3 प्रभावित नहीं हैं।

स्रोत: Hacker News · HeadlinesBriefing द्वारा सारांशित