Le versioni del pacchetto OpenWrt sono state rilasciate 18.06.7 e 19.07.1, in cui è stato corretto una vulnerabilità il CVE-2020-7982 nel gestore dei pacchetti opkg, che permetteva di effettuare un attacco MITM e sostituire il contenuto di un pacchetto scaricato dal repository. A causa di un errore nel codice di verifica dei checksum, l'attaccante poteva ignorare i checksum SHA-256 del pacchetto, eludendo così i meccanismi di controllo dell'integrità delle risorse ipk scaricate.
Il problema esiste dall'aprile 2017, dopo che è stato aggiunto il codice per ignorare gli spazi iniziali prima del checksum. A causa di un errore nel salto degli spazi, il puntatore non si spostava nella posizione corretta nella stringa e il ciclo di decodifica della sequenza esadecimale SHA-256 restituiva immediatamente il controllo con un checksum di lunghezza zero.
A causa del fatto che il gestore di pacchetti opkg veniva eseguito come utente root, un aggressore poteva modificare il contenuto di un pacchetto ipk durante un attacco MITM, scaricandolo dal repository mentre l'utente eseguiva il comando «opkg install», e organizzare l'esecuzione del proprio codice con diritti di root aggiungendo ai pacchetti i propri script di gestione chiamati durante l'installazione. Per sfruttare la vulnerabilità, l'aggressore doveva anche sostituire l'indice dei pacchetti (ad esempio, quello fornito da downloads.openwrt.org). La dimensione del pacchetto modificato doveva corrispondere a quella originale, come indicato nell'indice.
Nelle nuove versioni è stata corretta anche un'altra una vulnerabilità nella libreria libubox, che può portare a un overflow del buffer durante l'elaborazione nella funzione blobmsg_format_json di dati binari serializzati formattati in modo specifico o dati in formato JSON.
Fonte: linux.org.ru

