
CVE-2026-55579 – Неаутентифицированный RCE в Pheditor через жестко заданный пароль по умолчанию «admin». Полный эксплойт на Python с загрузкой файлов и выполнением команд в терминале. Без зависимостей.
TL;DR: Pheditor (все версии) поставляется с жестко закодированным паролем администратора по умолчанию (
admin), встроенным в исходный код. Принудительная смена пароля при первом входе отсутствует — только визуальное предупреждение. Любой неаутентифицированный злоумышленник может войти как администратор и использовать встроенную панель терминала (action=terminal) для выполнения произвольных команд ОС с привилегиями веб-сервера. В сочетании с возможностью загрузки файлов это дает неаутентифицированное удаленное выполнение кода (RCE).
Уязвимость возникает из-за жестко закодированного хэша SHA‑512 пароля admin внутри pheditor.php (строка 11):
define('PASSWORD', 'c7ad44cbad762a5da0a452f9e854fdc1e0e7a52a38015f23f3eab1d80b931dd472634dfac71cd34ebc35d16ab7fb8a90c81f975113d6c7538dc69dd8de9077ec');
Этот хэш соответствует:
echo -n 'admin' | sha512sum
Почему это критично:
pheditor.php).admin/admin злоумышленник может войти и получить полный доступ к:
action=terminal)action=upload)action=open/action=save)Отсутствуют ограничение скорости, блокировка и дополнительные факторы аутентификации.
Атака очень проста и не требует угадывания:
POST-запроса на pheditor.php с параметром pheditor_password=admin. Сервер устанавливает cookie сессии.token в JavaScript.POST-запроса с:
action=terminaltoken=<извлеченный>command=<команда ОС>dir= (необязательно)<pre> и может быть легко распарсен.В качестве альтернативы злоумышленник может загрузить веб-шелл или перезаписать файлы приложения.
Клонируйте официальный репозиторий и запустите локальный сервер:
git clone https://github.com/pheditor/pheditor.git /tmp/pheditor
cd /tmp/pheditor
php -S localhost:8080 pheditor.php &
Предоставленный эксплойт на Python использует только стандартную библиотеку Python (без внешних зависимостей). Он включает CLI на основе argparse, расширенную обработку ошибок, режим подробного вывода и контроль тайм-аута.
python3 exploit.py http://localhost:8080/pheditor.php "id; hostname; whoami"
[*] Выполняется вход с паролем: admin
[+] Вход успешен
[*] Извлечение CSRF-токена...
[+] Токен: a1b2c3d4e5f6...
[*] Выполняется: id; hostname; whoami
==================================================
Вывод команды:
==================================================
uid=33(www-data) gid=33(www-data) groups=33(www-data)
ubuntu
www-data
==================================================
Успешная эксплуатация дает злоумышленнику:
root), злоумышленник получает полный контроль над хостом.Учитывая, что Pheditor часто используется в средах разработки или как легковесный файловый менеджер, злоумышленники могут легко найти и использовать его для получения начальной точки проникновения.
pheditor_password=admin).Мониторьте вашу среду на наличие индикаторов компрометации:
pheditor.php с параметром pheditor_password=admin или action=terminal.sh, bash, nc, curl или wget.Более подробный разбор цепочки эксплуатации и дополнительные полезные нагрузки см. в ANALYSIS.md.
Отказ от ответственности: Этот репозиторий содержит доказательство концепции (PoC), предназначенное строго для оборонительных, образовательных и авторизованных целей тестирования безопасности. Не используйте этот код против систем, которые вам не принадлежат или на тестирование которых у вас нет явного письменного разрешения. Авторы не несут ответственности за неправомерное использование.
| Атрибут | Подробности |
|---|
| Идентификатор CVE | CVE-2026-55579 |
| Затронутое ПО | Pheditor (все версии вплоть до текущего HEAD) |
| Исправленная версия | Пока отсутствует (патч от вендора не выпущен; требуется обходное решение) |
| Класс уязвимости | CWE-798: Использование жестко закодированных учетных данных |
| Оценка CVSS v3.1 | 9.8 (Критический) CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| Аутентификация | Не требуется – учетные данные по умолчанию общеизвестны |
| Подтверждение | Подтверждено на свежей установке Pheditor |