Aktualizacja OpenWrt 19.07.1 z usunięciem luki umożliwiającej fałszowanie pakietów

Opublikowano wydania korygujące dystrybucji OpenWrt 18.06.7 и 19.07.1, w którym jest on eliminowany niebezpieczna luka (CVE-2020-7982) w menedżerze pakietów opk, 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 dodatki 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 słaby punkt w bibliotece libbox, co może prowadzić do przepełnienia bufora podczas przetwarzania w funkcji blobmsg_format_json 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 Auc (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 i naprawienia nagromadzonych błędów, wydanie OpenWrt 19.07.1 zaktualizowało także wersję jądra Linuksa (z 4.14.162 do 4.14.167), rozwiązało problemy z wydajnością podczas korzystania z częstotliwości 5 GHz i poprawiło obsługę Ubiquiti Rocket M Urządzenia tytanowe, 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

Dodaj komentarz