Исследователи кибербезопасности обнаружили критическую уязвимость нулевого дня в файловом сервере CrushFTP, позволяющую злоумышленникам выполнять произвольные команды на уязвимых системах без аутентификации. Проблема получила идентификатор CVE-2025-54309 и максимальный балл 9,8 по шкале CVSS, что делает её крайне опасной для организаций, использующих уязвимые версии ПО.
Уязвимость связана с ошибкой в реализации DMZ-прокси CrushFTP, который обычно служит защитным барьером между интернетом и внутренними административными серверами. Однако из-за недоработки в обработке HTTP-запросов злоумышленники могут полностью обойти аутентификацию, отправляя специально сформированные POST-запросы к эндпоинту /WebInterface/function/.
Согласно заявлению исследователей, сервер некорректно обрабатывает неаутентифицированные запросы, предоставляя злоумышленникам возможность удалённого выполнения команд на уровне операционной системы. Это один из самых серьёзных типов уязвимостей, так как он открывает прямой доступ к управлению сервером.
Эксплуатация уязвимости основана на механизме XML-RPC (XML Remote Procedure Call), который позволяет вызывать функцию *system.exec* удалённо. Атака предполагает отправку вредоносного XML-запроса, который сервер обрабатывает без должной проверки подлинности. Пример такого запроса выглядит следующим образом:
1 2 3 4 5 6 7 | <?xml version="1.0"?> <methodCall> <methodName>system.exec</methodName> <params> <param><value><string>id</string></value></param> </params> </methodCall> |
При получении подобного запроса уязвимый сервер выполняет указанную команду (в данном случае *id*) и отправляет результат злоумышленнику, фактически предоставляя ему удалённую оболочку для управления системой.
На GitHub уже опубликован рабочий эксплойт, демонстрирующий несколько сценариев атаки, включая прямое выполнение команд, инъекцию через формы авторизации и несанкционированную загрузку файлов. Сценарий включает функции разведки и поддерживает различные варианты полезной нагрузки. Например, простейший вариант эксплуатации выглядит так:
1 | python3 exploit.py 192.168.1.100 -c "uname -a" |
Также поддерживается метод инъекции команд через параметры входа, что позволяет злоумышленникам внедрять вредоносные команды в поля имени пользователя. Например:
1 | python3 exploit.py 192.168.1.100 -p cmd_inject -c "whoami" |
Этот способ использует SQL-подобные инъекции, где в поле логина добавляется команда вида admin’;whoami;#.
Столь высокий балл CVSS объясняется несколькими факторами: отсутствие необходимости аутентификации, возможность удалённой эксплуатации и полный контроль над системой. Злоумышленники могут использовать этот баг для кражи данных, установки вредоносного ПО или проникновения в другие ресурсы корпоративной сети.
Опубликование рабочего эксплойта существенно повышает риски для пользователей CrushFTP, поэтому администраторам рекомендуется немедленно применить патчи или настроить сетевую защиту для блокировки несанкционированного доступа к уязвимым эндпоинтам. Также рекомендуется провести аудит систем на предмет возможного взлома, так как уязвимость могла эксплуатироваться до её публичного раскрытия.
Эта ситуация в очередной раз подчёркивает важность своевременного обновления ПО и мониторинга угроз, особенно для серверных решений, обеспечивающих критически важные бизнес-процессы.