Au fost publicate versiuni corective ale distribuției OpenWrt și , în care a fost remediată (CVE-2020-7982) în managerul de pachete , care permite executarea unui atac MITM și înlocuirea conținutului pachetului descărcat din repository. Din cauza unei erori în codul de verificare a sumelor de control, un atacator poate crea condiții în care sumele de control SHA-256, prezente în indexul pachetelor semnat digital, vor fi ignorate, ceea ce permite ocolirea mecanismelor de verificare a integrității resurselor ipk descărcate.
Problema s-a manifestat din februarie 2017, după codului care ignoră spațiile de început înainte de suma de control. Din cauza unei erori la omiterea spațiilor, indicatorul de poziție din șir nu a fost mutat și ciclul de decodare a secvenței hexazecimale SHA-256 returna imediat controlul, oferind o sumă de control de lungime zero.
Fiindcă managerul de pachete opkg din OpenWrt este lansat cu drepturi de root, în cazul organizării unui atac MITM, atacatorul are posibilitatea de a modifica discret pachetul ipk descărcat din repository în timpul executării comenzii „opkg install” de către utilizator, și de a organiza executarea propriului cod cu drepturi de root prin adăugarea de scripturi-handler în pachet, care sunt apelate la instalare. Pentru exploatarea vulnerabilității, atacatorul trebuie, de asemenea, să înlocuiască indexul pachetelor corect și semnat (de exemplu, cel livrat de la downloads.openwrt.org). Dimensiunea pachetului modificat trebuie să corespundă dimensiunii inițiale specificate în index.
În situația în care este necesar să se evite actualizarea întregii firmware, se poate actualiza numai managerul de pachete opkg, executând următoarele comenzi:
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
Apoi, trebuie comparate sumele de control afișate și, dacă acestea coincid, se va executa:
opkg install ./opkg_2020-01-25-c09fe209-1_*.ipk
În noile versiuni a fost anche eliminată o altă în biblioteca , care poate duce la un overflow de buffer în timpul procesării funcției de date binare serializate corespunzător sau de date în format JSON. Biblioteca este folosită în componentele distribuției, cum ar fi netifd, procd, ubus, rpcd și uhttpd, precum și în pachetul (Attended sysUpgrade CLI). O verflows de buffer apar la transmiterea atributelor numerice mari de tip „double” în blocuri blob. Verificați vulnerabilitatea sistemului rulând comanda:
$ ubus call luci getFeatures \
‘{ «banik»: 00192200197600198000198100200400.1922 }’
Pe lângă remedierile vulnerabilităților și corectarea erorilor acumulate în versiunea OpenWrt 19.07.1, a fost actualizat și nucleul Linux (de la 4.14.162 la 4.14.167), rezolvând problemele de performanță la utilizarea frecvențelor de 5GHz, fiind posibilă suportul pentru dispozitivele 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.
Sursa: opennet.ro
