Aggiornamento OpenWrt 19.07.1 con rimozione della vulnerabilità di spoofing dei pacchetti

Sono state pubblicate versioni correttive della distribuzione OpenWrt 18.06.7 и 19.07.1, in cui viene eliminato vulnerabilità pericolosa (CVE-2020-7982) nel gestore pacchetti opkg, che consente di effettuare un attacco MITM e sostituire il contenuto di un pacchetto scaricato dal repository. A causa di un errore nel codice di verifica del checksum, un utente malintenzionato può creare condizioni in cui i checksum SHA-256 presenti nell'indice dei pacchetti con firma digitale verranno ignorati, il che rende possibile aggirare i meccanismi di controllo dell'integrità delle risorse ipk scaricate.

Il problema si presenta da febbraio 2017, dopo добавления codice per ignorare gli spazi iniziali prima del checksum. A causa di un errore durante il salto degli spazi, il puntatore alla posizione nella riga non è stato spostato e il ciclo di decodifica della sequenza esadecimale SHA-256 ha immediatamente restituito il controllo e ha restituito un checksum di lunghezza zero.

Poiché il gestore pacchetti opkg in OpenWrt viene avviato con diritti di root, in caso di attacco MITM, un utente malintenzionato può tranquillamente apportare modifiche al pacchetto ipk scaricato dal repository mentre l'utente sta eseguendo il comando "opkg install" e organizzare il esecuzione del suo codice con diritti di root aggiungendo i propri script di gestione al pacchetto, richiamati durante l'installazione. Per sfruttare la vulnerabilità, l'aggressore deve anche provvedere alla sostituzione di un indice del pacchetto corretto e firmato (ad esempio fornito da downloads.openwrt.org). La dimensione del pacchetto modificato deve corrispondere alla dimensione originale definita nell'indice.

In una situazione in cui è necessario fare a meno dell'aggiornamento dell'intero firmware, è possibile aggiornare solo il gestore pacchetti opkg eseguendo i seguenti comandi:

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

Successivamente, confronta i checksum visualizzati e, se corrispondono, esegui:

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

Le nuove versioni ne eliminano anche un'altra vulnerabilità in biblioteca libubox, che può portare a un overflow del buffer durante l'elaborazione in una funzione blobmsg_format_json dati binari serializzati o JSON appositamente formattati. La libreria viene utilizzata in componenti di distribuzione come netifd, procd, ubus, rpcd e uhttpd, nonché nel pacchetto nessuno (Cliente di sysUpgrade con partecipazione). Un overflow del buffer si verifica quando attributi numerici di grandi dimensioni del tipo "double" vengono trasmessi in blocchi BLOB. Puoi verificare la vulnerabilità del tuo sistema alle vulnerabilità eseguendo il comando:

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

Oltre ad eliminare le vulnerabilità e correggere gli errori accumulati, la versione OpenWrt 19.07.1 ha anche aggiornato la versione del kernel Linux (da 4.14.162 a 4.14.167), risolto problemi di prestazioni durante l'utilizzo delle frequenze a 5GHz e migliorato il supporto per Ubiquiti Rocket M. Dispositivi 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 e Netgear R6350.

Fonte: opennet.ru

Aggiungi un commento