Posodobitev OpenWrt 19.07.1 z odstranitvijo ranljivosti za ponarejanje paketov

Objavljene so bile popravne izdaje distribucije OpenWrt 18.06.7 и 19.07.1, pri katerem se odpravi nevarna ranljivost (CVE-2020-7982) v upravitelju paketov opkg, ki omogoča izvedbo napada MITM in zamenjavo vsebine paketa, prenesenega iz repozitorija. Zaradi napake v kodi za preverjanje kontrolne vsote lahko napadalec ustvari pogoje, pod katerimi bodo kontrolne vsote SHA-256, ki so prisotne v digitalno podpisanem indeksu paketov, prezrte, kar omogoča obid mehanizmov za preverjanje celovitosti prenesenih virov ipk.

Težava se pojavlja že od februarja 2017, po dodatki kodo, ki prezre vodilne presledke pred kontrolno vsoto. Zaradi napake pri preskakovanju presledkov se kazalec na položaj v vrstici ni premaknil in zanka za dekodiranje šestnajstiškega zaporedja SHA-256 je takoj vrnila nadzor in vrnila kontrolno vsoto dolžine nič.

Ker se upravljalnik paketov opkg v OpenWrt zažene s korenskimi pravicami, lahko v primeru napada MITM napadalec tiho spremeni paket ipk, prenesen iz repozitorija, medtem ko uporabnik izvaja ukaz »opkg install«, in organizira izvajanje njegove kode s korenskimi pravicami z dodajanjem lastnih skriptov za obravnavo v paket, ki se kličejo med namestitvijo. Da bi izkoristil ranljivost, mora napadalec poskrbeti tudi za zamenjavo pravilnega in podpisanega indeksa paketa (na primer iz downloads.openwrt.org). Velikost spremenjenega paketa se mora ujemati z izvirno velikostjo, določeno v indeksu.

V primeru, ko morate storiti brez posodobitve celotne vdelane programske opreme, lahko posodobite samo upravitelja paketov opkg z izvajanjem naslednjih ukazov:

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

Nato primerjajte prikazane kontrolne vsote in, če se ujemajo, izvedite:

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

Nove različice odpravljajo še enega ranljivost v knjižnici libubox, kar lahko pri obdelavi v funkciji povzroči prepolnitev medpomnilnika blobmsg_format_json posebej oblikovani serializirani binarni podatki ali podatki JSON. Knjižnica se uporablja v distribucijskih komponentah, kot so netifd, procd, ubus, rpcd in uhttpd, pa tudi v paketu dražba (Udeležen sysUpgrade CLI). Do prekoračitve medpomnilnika pride, ko se veliki številski atributi tipa "double" prenašajo v blokih blob. Ranljivost vašega sistema za ranljivosti lahko preverite tako, da zaženete ukaz:

$ubus pokliči luci getFeatures\
'{ "banik": 00192200197600198000198100200400.1922 }'

Poleg odprave ranljivosti in popravljanja nakopičenih napak je izdaja OpenWrt 19.07.1 posodobila tudi različico jedra Linuxa (s 4.14.162 na 4.14.167), odpravila težave z zmogljivostjo pri uporabi frekvenc 5 GHz in izboljšala podporo za Ubiquiti Rocket M naprave 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 in Netgear R6350.

Vir: opennet.ru

Dodaj komentar