Kriitiline haavatavus memcpy funktsiooni rakenduses ARMv7 Glibci koostises

Turvalisuuringute spetsialistid ettevĂ”ttest Cisco avaldasid detailid haavatavuse (CVE-2020-6096) Glibc'i malloc() funktsiooni rakenduses 32-bitiste ARMv7 platvormide jaoks. Probleem tuleneb negatiivsete vÀÀrtuste vale töötlemise tĂ”ttu parameetris, mis mÀÀrab kopeeritava ala suuruse, kasutades assembleri optimeeringuid, mis manipuleerivad mĂ€rgitud 32-bitiste tĂ€isarvudega. memcpy() vĂ€ljakutse ARMv7 sĂŒsteemides negatiivse suurusega toob kaasa vale vÀÀrtuste vĂ”rdlemise ja kirjutamise vĂ€ljaspool mÀÀratud puhvri piire.

Haavatavust saab kuritarvitada koodi kĂ€itamiseks olukordades, kus rĂŒndaja suudab korraldada negatiivse vÀÀrtuse muutujas, mille kaudu edastatakse kopeeritavate andmete suurus (nĂ€iteks minusesse minek toimub, kui edastatakse ĂŒle 2 GB andmeid, kuid rĂŒnnaku kĂ€igus, et ĂŒletada puhvri piire, tuleb edastada vĂ€hemalt 4GB). memcpy() funktsiooni kasutatakse laialdaselt rakendustes, ning ARMv7 protsessorid on levinud automobile, mobiilsetes, tööstuslikes, tarbijasektoris, side- ja sisseehitatud seadmetes, mis vĂ”ivad potentsiaalselt muutuda rĂŒnnakute sihtmĂ€rkideks, kasutades Bluetoothi, HD Radio / DAB, USB, CAN bussi, Wi-Fi ja muid vĂ€liseid andmeallikaid (nĂ€iteks vĂ”ivad olla rĂŒnnatud vĂ”rgus kergesti kĂ€ttesaadavad teenused ja rakendused, mis aktsepteerivad sisendit suuruse piirest sĂ”ltumatult).

NĂ€itena toome esile töötava eksploidi loomise rĂŒnnakuks autode infotehnoloogiliste sĂŒsteemide HTTP-serverile, mis on juurdepÀÀsetav auto Wi-Fi vĂ”rgus. Kolmas osapool saab kuritarvitada memcpy haavatavust selles serveris, edastades vĂ€ga suure GET-pĂ€ringu, ja saada root-juurdepÀÀsu sĂŒsteemile.

Kriitiline haavatavus memcpy funktsiooni rakenduses ARMv7 Glibci koostises

32-bitistes x86 sĂŒsteemides probleem ei ilmne, kuna memcpy'i rakendus selle arhitektuuri jaoks tĂ”lgendab muutuja suuruse Ă”igesti kui mĂ€rketa tĂ€isarvutable nimega size_t (kokku kirjutatud assembleris , tehnoloogia ARMv7 jaoks töödeldakse seda kui signeeritud tĂ€isarv). Parandus on hetkel saadaval patch, mis kuulub augustikuu Glibc 2.32 uuendusse.
Parandus seisneb assemblin instruktsioonide, mis opereerivad mÀrkidega operandidega (bge ja blt), asendamises mÀrketa analoogidega (blo ja bhs).

Probleem ei ole veel lahendatud Debian 9 ja 10 (Debian 8 ei esine), Fedora, Ubuntu, OpenEmbedded, Tizen (kasutab glibc). RHEL ja SUSE probleem ei puuduta, kuna nad ei toeta 32-bitiseid ARMv7 sĂŒsteeme. Android ei ole haavatav, kuna kasutab oma libc (Bionic) teostust. OpenWRT vaikimisi kasutatakse enamikus seadistustes Musl, kuid repositooriumis on ka glibc.

Allikas: opennet.ru

Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster