Opublikowano wydania korygujące dystrybucji OpenWrt и , w którym jest on eliminowany (CVE-2020-7982) w menedżerze pakietów , co pozwala na przeprowadzenie ataku MITM i podmianę zawartości pakietu pobranego z repozytorium. W wyniku błędu w kodzie weryfikującym sumę kontrolną atakujący może stworzyć warunki, w których sumy kontrolne SHA-256 obecne w indeksie pakietów podpisanych cyfrowo zostaną zignorowane, co umożliwia ominięcie mechanizmów sprawdzających integralność pobranych zasobów ipk.
Problem pojawia się od lutego 2017r., od godz kod ignorujący spacje wiodące przed sumą kontrolną. Z powodu błędu przy pomijaniu spacji wskaźnik do pozycji w wierszu nie został przesunięty, a pętla dekodowania sekwencji szesnastkowej SHA-256 natychmiast zwróciła kontrolę i zwróciła sumę kontrolną o zerowej długości.
Ponieważ menedżer pakietów opkg w OpenWrt jest uruchamiany z uprawnieniami roota, w przypadku ataku MITM osoba atakująca może po cichu wprowadzić zmiany w pakiecie ipk pobranym z repozytorium, podczas gdy użytkownik wykonuje polecenie „opkg install”, i zorganizować wykonanie swojego kodu z prawami roota poprzez dodanie do pakietu własnych skryptów obsługi wywoływanych podczas instalacji. Aby wykorzystać tę lukę, osoba atakująca musi także zorganizować wymianę prawidłowego i podpisanego indeksu pakietu (na przykład udostępnionego z downloads.openwrt.org). Rozmiar zmodyfikowanego opakowania musi odpowiadać rozmiarowi oryginalnemu określonemu w indeksie.
W sytuacji, gdy nie musisz aktualizować całego oprogramowania sprzętowego, możesz zaktualizować tylko menedżera pakietów opkg, uruchamiając następujące polecenia:
cd / tmp
aktualizacja opkg
opkg pobierz opkg
zcat ./opkg-lists/openwrt_base | grep -A10 „Pakiet: opkg” | grep SHA256sum
sha256sum ./opkg_2020-01-25-c09fe209-1_*.ipk
Następnie porównaj wyświetlone sumy kontrolne i jeśli się zgadzają wykonaj:
opkg install ./opkg_2020-01-25-c09fe209-1_*.ipk
Nowe wersje eliminują jeszcze jedno w bibliotece , co może prowadzić do przepełnienia bufora podczas przetwarzania w funkcji specjalnie sformatowane serializowane dane binarne lub JSON. Biblioteka wykorzystywana jest w takich komponentach dystrybucji jak netifd, procd, ubus, rpcd i uhttpd, a także w pakiecie (Uczestniczyłem w sysUpgrade CLI). Przepełnienie bufora występuje, gdy duże atrybuty numeryczne typu „double” są przesyłane w blokach typu blob. Możesz sprawdzić podatność swojego systemu na luki, uruchamiając polecenie:
$ubus zadzwoń do Luci getFeatures\
'{ "banik": 00192200197600198000198100200400.1922 }'
Oprócz wyeliminowania luk w zabezpieczeniach i naprawienia nagromadzonych błędów, wydanie OpenWrt 19.07.1 zawiera również zaktualizowaną wersję jądra. Linux (od wersji 4.14.162 do 4.14.167), rozwiązano problemy z wydajnością przy korzystaniu z częstotliwości 5 GHz, wprowadzono obsługę urządzeń Ubiquiti Rocket M Titanium, Netgear WN2500RP v1,
Zyxel NSA325, Netgear WNR3500 V2, Archer C6 v2, Ubiquiti EdgeRouter-X, Archer C20 v4, Archer C50 v4 Archer MR200, TL-WA801ND v5, HiWiFi HC5962, Xiaomi Mi Router 3 Pro i Netgear R6350.
Źródło: opennet.ru
