Aktualizacja OpenWrt 19.07.1 eliminująca lukę umożliwiającą podmianę pakietów

Opublikowano poprawki dla dystrybucji OpenWrt 18.06.7 i 19.07.1, w których usunięto groźna luka (CVE-2020-7982) w menedżerze pakietów opkg, która umożliwia przeprowadzenie ataku MITM i modyfikację zawartości pakietu pobieranego z repozytorium. Z powodu błędu w kodzie sprawdzania sum kontrolnych, atakujący może stworzyć warunki, w których sumy kontrolne SHA-256, znajdujące się w podpisanym cyfrowo indeksie pakietów, będą ignorowane, co pozwala na ominięcie mechanizmów sprawdzania integralności pobieranych zasobów ipk.

Problem ujawnił się od lutego 2017 roku, po dodania kodzie ignorującym wstępne spacje przed sumą kontrolną. Z powodu błędu przy pominięciu spacji, wskaźnik pozycji w linii nie był przesuwany i pętla dekodująca szesnastkową sekwencję SHA-256 od razu zwracała kontrolę, przekazując sumę kontrolną o zerowej długości.

Ponieważ menedżer pakietów opkg w OpenWrt działa z uprawnieniami roota, w przypadku zorganizowania ataku MITM, napastnik ma możliwość niezauważalnego wprowadzenia zmian w pakiecie ipk pobieranym z repozytorium w trakcie wykonywania przez użytkownika polecenia "opkg install", i zorganizowania wykonania swojego kodu z uprawnieniami roota przez dodanie do pakietu własnych skryptów-obsługujących, wywoływanych podczas instalacji. Aby wykorzystać lukę, atakujący także musi zorganizować modyfikację prawidłowego i podpisanego indeksu pakietów (na przykład tego z downloads.openwrt.org). Rozmiar zmienionego pakietu musi odpowiadać oryginalnemu rozmiarowi określonemu w indeksie.

W sytuacji, gdy trzeba obejść się bez aktualizacji całego oprogramowania układowego, można zaktualizować jedynie menedżera pakietów opkg, wykonując następujące polecenia:

cd /tmp
opkg update
opkg download opkg
zcat ./opkg-lists/openwrt_base | grep -A10 "Package: opkg" | grep SHA256sum
sha256sum ./opkg_2020-01-25-c09fe209-1_*.ipk

Następnie należy porównać pokazane sumy kontrolne i jeśli się zgadzają, wykonać:

opkg install ./opkg_2020-01-25-c09fe209-1_*.ipk

W nowych wersjach naprawiono także kolejny luka w bibliotece libubox, co może prowadzić do przepełnienia bufora podczas przetwarzania w funkcji blobmsg_format_json specjalnie sformatowanych zserializowanych danych binarnych lub danych w formacie JSON. Biblioteka jest używana w takich komponentach dystrybucji, jak netifd, procd, ubus, rpcd i uhttpd, a także w pakiecie auc (Attended sysUpgrade CLI). Przepełnienie bufora występuje podczas przesyłania w blokach blob dużych atrybutów liczbowych typu "double". Sprawdzić podatność systemu na tę lukę można, wykonując polecenie:

$ ubus call luci getFeatures \
'{ "banik": 00192200197600198000198100200400.1922 }'

Oprócz eliminacji luk i naprawy nagromadzonych błędów w wersji OpenWrt 19.07.1 zaktualizowano także wersję jądra Linux (z 4.14.162 do 4.14.167), rozwiązano problemy z wydajnością przy użyciu częstotliwości 5GHz, nawiązano wsparcie dla 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

Kup niezawodny hosting stron z ochroną DDoS, serwery VPS VDS 🔥 Kup niezawodny hosting stron z ochroną DDoS, serwery VPS VDS - ProHoster