Pheditor — однофайловый редактор и файловый менеджер, написанный на PHP. До версии 2.0.5 существовал обход белого списка аутентифицированных команд терминала. Функция терминала проверяет, начинается ли отправленная команда с одного из настроенных значений TERMINAL_COMMANDS, а затем передает полную командную строку в Shell_exec().
Подмена команд оболочки, такая как $(), не блокируется, поэтому аутентифицированный пользователь с разрешением терминала может обойти ограниченный список разрешенных команд и выполнять произвольные команды оболочки от имени пользователя веб-сервера. Эта проблема исправлена в версии 2.0.5.
Показать оригинальное описание (EN)
Pheditor is a single-file editor and file manager written in PHP. Prior to version 2.0.5, there is an authenticated terminal command whitelist bypass. The terminal feature checks whether the submitted command starts with one of the configured TERMINAL_COMMANDS values, then passes the full command string to shell_exec(). Shell command substitution such as $() is not blocked, so an authenticated user with the terminal permission can bypass a restricted command allowlist and execute arbitrary shell commands as the web server user. This issue has been patched in version 2.0.5.
Характеристики атаки
Последствия
Строка CVSS v3.1