Ĝisdatigo de OpenWrt 19.07.1 kun forigo de vundebleco de pakaĵa falsigado

Korektigaj eldonoj de la OpenWrt-distribuo estis publikigitaj 18.06.7 и 19.07.1, en kiu ĝi estas forigita danĝera vundebleco (CVE-2020-7982) en la pakaĵadministrilo opkg, kiu permesas vin efektivigi MITM-atakon kaj anstataŭigi la enhavon de pako elŝutita el la deponejo. Pro eraro en la kontrolkodo de kontrolo, atakanto povas krei kondiĉojn sub kiuj la SHA-256-ĉeksumoj ĉeestantaj en la ciferece subskribita paka indekso estos ignoritaj, kio ebligas preteriri mekanismojn por kontroli la integrecon de elŝutitaj ipk-resursoj.

La problemo aperas ekde februaro 2017, post aldonoj kodon por ignori gvidajn spacojn antaŭ la ĉeksumo. Pro eraro dum transsaltado de spacoj, la montrilo al la pozicio en la linio ne estis ŝanĝita kaj la SHA-256 deksesuma sekvenco deĉifra buklo tuj resendis kontrolon kaj resendis ĉeksumon de nula longo.

Ĉar la opkg pakaĵmanaĝero en OpenWrt estas lanĉita kun radikrajtoj, en la okazaĵo de MITM-atako, atakanto povas trankvile fari ŝanĝojn al la ipk-pakaĵo elŝutita el la deponejo dum la uzanto plenumas la "opkg instali" komandon, kaj organizi la ekzekuto de lia kodo kun radikrajtoj aldonante viajn proprajn pritraktilajn skriptojn al la pakaĵo, nomita dum instalado. Por ekspluati la vundeblecon, la atakanto ankaŭ devas aranĝi la anstataŭigon de ĝusta kaj subskribita paka indekso (ekzemple, provizita de downloads.openwrt.org). La grandeco de la modifita pakaĵo devas kongrui kun la originala grandeco difinita en la indekso.

En situacio, kie vi devas fari sen ĝisdatigo de la tuta firmvaro, vi povas ĝisdatigi nur la opkg-pakadministranton per la sekvaj komandoj:

cd / tmp
opkg ĝisdatigo
opkg elŝutu opkg
zcat ./opkg-lists/openwrt_base | grep -A10 "Pako: opkg" | grep SHA256sum
sha256sum ./opkg_2020-01-25-c09fe209-1_*.ipk

Poste, komparu la montritajn ĉeksumojn kaj se ili kongruas, ekzekutu:

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

Novaj versioj ankaŭ forigas unu pli vundebleco en biblioteko libubox, kiu povas konduki al bufrotrofluo kiam prilaborite en funkcio blobmsg_format_json speciale formatitaj seriigitaj binaraj aŭ JSON-datumoj. La biblioteko estas uzata en tiaj distribukomponentoj kiel netifd, procd, ubus, rpcd kaj uhttpd, same kiel en la pakaĵo Ŭaŭ (Ĉeestis sysUpgrade CLI). Bufrsuperfluo okazas kiam grandaj nombraj atributoj de la "duobla" tipo estas elsenditaj en blobblokoj. Vi povas kontroli la vundeblecon de via sistemo al vundeblecoj per la komando:

$ubus voku luci getFeatures\
‘{ “banik”: 00192200197600198000198100200400.1922 }’

Krom forigi vundeblecojn kaj korekti amasigitajn erarojn, la eldono de OpenWrt 19.07.1 ankaŭ ĝisdatigis la version de la Linukso-kerno (de 4.14.162 ĝis 4.14.167), solvis rendimentajn problemojn dum uzado de 5GHz-frekvencoj kaj plibonigis subtenon por Ubiquiti Rocket M. Titanio, Netgear WN2500RP v1 aparatoj,
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 kaj Netgear R6350.

fonto: opennet.ru

Aldoni komenton