Megjelentek az OpenWrt disztribúció helyesbítő kiadásai és , amelyekben javították (CVE-2020-7982) a csomagkezelőben , amely lehetővé teszi a MITM-támadást, és megváltoztatja a repozitóriumból letöltött csomag tartalmát. A kódban lévő ellenőrzési összeg hibája miatt a támadó olyan körülményeket tud létrehozni, amelyek mellett a digitális aláírással ellátott csomagindexben található SHA-256 ellenőrzési összegek figyelmen kívül hagyásra kerülnek, ami lehetővé teszi az ipk-erőforrások integritása ellenőrzési mechanizmusának megkerülését.
A probléma 2017 februárjától jelentkezik, miután figyelmen kívül hagyták az ellenőrzési összeg előtt álló kezdeti szóközöket. A szóközök kihagyásának hibája miatt a mutató nem mozdult el a sorban, és a SHA-256 hexadecimális sorozat dekódolásának ciklusa azonnal visszatér a vezérléshez, és egy nullás hosszúságú ellenőrzési összeget ad vissza.
Mivel az opkg csomagkezelő OpenWrt-ben root jogokkal fut, a MITM-támadás megszervezésével a támadó észrevétlenül módosíthatja az ipk-csomagot, amelyet a felhasználó az „opkg install” parancs végrehajtása során tölt le a repozitóriumból, és a saját kódját root jogokkal hajthatja végre a csomagba beépített saját kezelőszkriptek hozzáadásával, amelyeket telepítéskor hívnak meg. A sebezhetőség kihasználásához a támadónak a helyes és aláírt csomagindex (például a downloads.openwrt.org-ról) módosítását is meg kell szerveznie. A módosított csomag méretének meg kell egyeznie az indexben meghatározott eredeti mérettel.
Ha el kell kerülni az egész firmware frissítését, csak az opkg csomagkezelőt frissíthetjük az alábbi parancsok végrehajtásával:
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
Ezután össze kell hasonlítani a megjelenített ellenőrzési összegeket, és ha egyeznek, végre kell hajtani:
opkg install ./opkg_2020-01-25-c09fe209-1_*.ipk
Az új verziókban egy másik hibát is javítottak a könyvtárban , amely a speciálisan formázott sorosított bináris adatok vagy JSON formátumú adatok. A könyvtár a disztribúció olyan összetevőiben használatos, mint a netifd, procd, ubus, rpcd és uhttpd, valamint a csomagban (Részt vett sysUpgrade CLI). Buffertúltöltés lép fel, ha nagy numerikus attribútumokat 'double' típussal blob-blokkokban továbbítanak. A rendszer sebezhetőségének ellenőrzéséhez hajtsa végre a következő parancsot:
$ ubus call luci getFeatures \
'{ "banik": 00192200197600198000198100200400.1922 }'
Az OpenWrt 19.07.1 kiadásban nemcsak a sebezhetőségek javítására és a felhalmozódott hibák kijavítására került sor, hanem a Linux kernel verziója is frissült (4.14.162-ről 4.14.167-re), továbbá megoldották a 5GHz-es frekvenciák használata közbeni teljesítményproblémákat, és biztosították az 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 és Netgear R6350 támogatását.
Forrás: opennet.ru
