Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2026-33186 — gRPC-Go RBAC प्राधिकरण नीति बाईपास `:path` स्लैश की कमी के कारण (Auth Bypass) | Kitploit
उपकरण/GitHubGitHub/johanneslks/cve-2026-33186
प्रमाणीकरण और प्राधिकरणशोषणवेब एप्लिकेशन शोषणपेनिट्रेशन टेस्टिंगलर्निंग और शिक्षाAPI सुरक्षा
GitHubjohanneslks/cve-2026-33186

CVE-2026-33186

gRPC-Go RBAC प्राधिकरण नीति बाईपास `:path` स्लैश की कमी के कारण (Auth Bypass)

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

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

सभी देखें →

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

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

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

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

CVE-2026-33186

gRPC-Go RBAC प्राधिकरण नीति बायपास : :path में स्लैश की कमी (Auth Bypass)

विवरण

google.golang.org/grpc में authz पैकेज, :path स्यूडो-हेडर के विरुद्ध मिलान किए गए deny और allow नियमों का उपयोग करके SDK-स्तरीय RBAC प्राधिकरण लागू करता है।

HTTP/2 सर्वर ट्रांसपोर्ट क्लाइंट से :path का कच्चा मान संग्रहीत करता है, बिना यह सत्यापित किए कि यह / से शुरू होता है। रूटिंग लेयर (handleStream) डिस्पैच से पहले पथ को सामान्य कर देता है, लेकिन RBAC इंजन grpc.Method(ctx) के माध्यम से संदर्भ से प्री-नॉर्मलाइज़ेशन मान पढ़ता है।

Deny नियम /Service/Method (अग्रणी स्लैश के साथ) के रूप में लिखे जाते हैं। :path = "Service/Method" (स्लैश के बिना) भेजने से deny नियम पहले वर्ण की तुलना पर चूक जाता है। डिफ़ॉल्ट allow सक्रिय हो जाता है, और सुरक्षित विधि निष्पादित होती है।

कोई भी gRPC सर्वर जो deny नियमों के साथ authz.NewStatic() या authz.NewFileWatcher() का उपयोग करता है, असुरक्षित है। इसका शोषण करने के लिए एक कच्चा HTTP/2 क्लाइंट (Python h2, curl --http2, या कोई भी कस्टम फ्रेम राइटर) पर्याप्त है -- कोई क्रेडेंशियल नहीं, कोई पिछली स्थिति नहीं।

grpc-go v1.71.0 के विरुद्ध लाइव सत्यापन में, जब अग्रणी स्लैश छोड़ा गया तो deny-सूचीबद्ध AdminMethod पर gRPC स्थिति 0 (OK) लौटी, जबकि विहित स्लैश के साथ समान कॉल ने स्थिति 7 (PermissionDenied) लौटाई।

प्रभावित: google.golang.org/grpc < v1.79.3. v1.79.3 में ठीक किया गया (PR #8981)।

उपयोग

# Install the Python HTTP/2 dependency:
pip install h2

# Against an existing vulnerable gRPC server:
python3 poc.py --host <HOST> --port <PORT>
python3 poc.py --host <HOST> --port <PORT> --service MyService --method SecretMethod

# When TCP destination and HTTP/2 authority differ:
python3 poc.py --host <VHOST> --connect-host <IP> --port 80 \
  --service MyService --method SecretMethod

# Canonical upstream malformed path:
python3 poc.py --host <HOST> --port <PORT> --path-mode no-slash

# Reverse-proxy deployments that preserve a double slash before grpc_pass:
python3 poc.py --host <VHOST> --connect-host <IP> --port 80 \
  --path-mode double-slash --service MyService --method SecretMethod

# Literal :path value when you already know the backend path shape:
python3 poc.py --host <VHOST> --connect-host <IP> --path-mode custom \
  --attack-path '//MyService/SecretMethod'

# Save a decoded successful attack response for follow-on manual use:
python3 poc.py --host <HOST> --port <PORT> --output-response /tmp/grpc-response.txt

--host HTTP/2 :authority होस्ट को नियंत्रित करता है जब तक --authority सेट न हो। --connect-host TCP गंतव्य को नियंत्रित करता है। यह वर्चुअल-होस्ट या रिवर्स-प्रॉक्सी सेटअप के लिए उपयोगी है जहाँ पहुँच योग्य IP रूटेड बैकएंड प्राधिकरण से भिन्न होता है।

विहित grpc-go समस्या --path-mode no-slash है। double-slash और custom उन वातावरणों के लिए सामान्य सहायक हैं जहाँ एक प्रॉक्सी असुरक्षित बैकएंड को एक अलग विकृत पथ आकार अग्रेषित करता है।

आवश्यकताएँ

  • हमलावर: Python 3.8+, h2 (pip install h2)
  • लक्ष्य: deny नियमों के साथ authz पैकेज का उपयोग करने वाला gRPC-Go सर्वर

फ़ाइलें

फ़ाइलविवरण
poc.pyPython PoC -- बायपास साबित करने के लिए 3 कच्चे HTTP/2 कॉल (बेसलाइन/अटैक/कंट्रोल) भेजता है
README.mdभेद्यता विवरण, उपयोग उदाहरण और संदर्भ
LICENSEGPLv3 लाइसेंस

संदर्भ

  • https://github.com/grpc/grpc-go/security/advisories/GHSA-p77j-4mvh-x3m3
  • https://github.com/grpc/grpc-go/pull/8981

कानूनी सूचना

यह प्रोजेक्ट GNU GPLv3 के तहत जारी किया गया है।

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

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

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

टूल डाउनलोड करें