В сети зафиксирована массовая атака на домашние маршрутизаторы, в прошивках которых используется реализация http-сервера от компании Arcadyan. Для получения управления над устройствами применяется сочетание двух уязвимостей, позволяющих удалённо выполнить произвольный код с правами root. Проблема затрагивает достаточно большой спектр ADSL-маршрутизаторов от компаний Arcadyan, ASUS и Buffalo, а также устройств, поставляемых под брендами Билайн (проблема подтверждена в Smart Box Flash), Deutsche Telekom, Orange, O2, Telus, Verizon, Vodafone и других операторов связи. Отмечается, что проблема присутствует в прошивках Arcadyan уже более 10 лет и за это время успела перекочевать как минимум в 20 моделей устройств от 17 различных производителей.
Особый интерес представляет уязвимость CVE-2021-20090, позволяющая обратиться к любому скрипту web-интерфейса без прохождения аутентификации. Суть уязвимость в том, что в web-интерфейсе некоторые каталоги, через которые отдаются картинки, CSS-файлы и сценарии JavaScript, доступны без аутентификации. При этом проверка каталогов, для которых разрешён доступ без аутентификации выполняется по начальной маске, а в путях допускается использование символов “..” для перехода в родительский каталог. Указание в путях “../” блокируется прошивкой, но использование комбинации “..%2f” пропускается. Таким образом, имеется возможность открытия защищённых страниц при отправке запросов, подобных “https://192.168.1.1/images/..%2findex.htm”.
Вторая уязвимость CVE-2021-20091 позволяет аутентифицированному пользователю внести изменения в настройки устройства через отправку специально оформленных параметров скрипту apply_abstract.cgi, которые не осуществляет проверку наличия символа перевода строки в параметрах. Например, атакующий может при выполнении операции ping указать в поле с проверяемым IP-адресом значение “192.168.1.2%0AARC_SYS_TelnetdEnable=1” и скрипт при создании файла с настройками /tmp/etc/config/.glbcfg запишет в него строку “AARC_SYS_TelnetdEnable=1”, которая активирует сервер telnetd, предоставляющий неограниченный доступ в командную оболочку с правами root. Аналогично можно при помощи установки параметра AARC_SYS можно выполнить любой код в системе. Первая уязвимость даёт возможность запустить проблемный скрипт без аутенитификации, обратившись к нему как “/images/..%2fapply_abstract.cgi”.
Для эксплуатации уязвимостей у атакующего должна быть возможность отправки запроса на сетевой порт, на которым выполняется web-интерфейс. Судя по динамике распространения атаки многие операторы оставляют на своих устройствах доступ из внешней сети для упрощения диагностики проблем службой поддержки. При ограничения доступа к интерфейсу только для внутренней сети атака может быть совершена из внешней сети при помощи техники “DNS rebinding”. Уязвимости уже активно используются для подключения маршрутизаторов к ботнету Mirai: