Programeri OS Aurora ubacili su memcpy fix u Glibc

Programeri mobilnog operativnog sistema AuroraOS (vilica operativnog sistema Sailfish, koju je razvila kompanija Open Mobile Platform) je podijelio ispravak za ranjivost koje su otkrili u memcpy. Uklanjanje kritične ranjivosti (CVE-2020-6096) Glibc, koji se manifestira samo na ARMv7 platformi.

Informacije o ranjivosti otkrivene su u maju, ali do posljednjih nekoliko dana ispravci nisu bili dostupni, iako je ranjivosti dodijeljen visok nivo opasnosti i postoji radni prototip eksploatacije koji omogućava organizaciju izvršavanja koda.

Eksploatacija pripremljena djeluje tijekom obrade u funkcijama memcpy () i memmove () za određene formatirane podatke.

Važnost Glibca je u tome što ova biblioteka definira sistemske pozive i druge osnovne funkcije, pored toga što ih koriste gotovo svi programi.

O problemu

Očitovana ranjivost u implementaciji memcpy () i memmove () na asemblerskom jeziku za ARMv7 a uzrokovana je nepravilnom obradom negativnih vrijednosti parametra koji određuje veličinu područja.

Počeli su problemi s razvojem zakrpa kada su SUSE i Red Hat objavili da njihove platforme nisu pogođene zbog problema, jer se nisu kompajlirali za 7-bitne ARMv32 sisteme i nisu sudjelovali u kreiranju zakrpe.

Programeri mnogih ugrađenih distribucija očito su vjerovali Glibc timu, a također nisu aktivno sudjelovali u pripremi zakrpe.

Rešenja

Huawei je ponudio opciju za flaster da odmah blokira problem, koja je pokušala zamijeniti asemblerske upute koje djeluju na potpisane operande (bge i blt) s nepotpisanim analogima (blo i bhs).

Održavači Glibca razvili su testni paket za testiranje različitih uslova za pojavu greške, nakon što se pokazalo da Huaweijeva zakrpa ne odgovara i ne obrađuje sve moguće kombinacije ulaznih podataka.

Od tada AuroraOS ima 32-bitnu verziju za ARM, tvoje programeri su odlučili sami zatvoriti ranjivost i predložiti rješenje zajednici.

Teškoća je bila u tome što je bilo potrebno napisati efikasnu implementaciju asembler funkcije i razmotrite nekoliko opcija za ulazne argumente.

Implementacija je prepisana koristeći nepotpisane upute. Ispostavilo se da je zakrpa mala, ali glavno pitanje bilo je održavanje brzine izvršavanja i uklanjanje pogoršanja performansi iz memcpy i memmove funkcija, uz održavanje kompatibilnosti sa svim kombinacijama ulaznih vrijednosti.

Početkom juna pripremljena su dva rješenja, prolazak Glibcovog okvira za testiranje održavanja i Aurorine interne pakete za testiranje. 3. juna izabrana je i predata jedna od opcija na Glibc mailing listu.

Tjedan dana kasnije, predložen je još jedan sličan pristup, koji je riješio problem u multiarch implementaciji, što je Huawei ranije pokušao riješiti. Mjesec dana je trebalo testiranje i legalizaciju s obzirom na važnost zakrpe.

8. jula popravci su prihvaćeni u glavnoj grani nadolazećeg izdanja glibc 2.32. Aplikacija uključuje dvije zakrpe:

  • Prva za Multiarch aplikaciju za uspostavljanje memorije za ARMv7
  • Druga za uobičajenu implementaciju asemblera memcpy () i memmove () za ARM.

Problem pogađa milione ARMv7 Linux uređaja i bez odgovarajućeg ažuriranja, vlasnici riskiraju da ih povežu s mrežom (usluge i aplikacije dostupne na mreži koje prihvaćaju unos bez ograničenja veličine mogu biti napadnute).

Na primjer, pripremljeni exploit istraživači koji Otkrivena ranjivost pokazuje kako napasti http server integriran u informativni sistem automobila prenošenjem vrlo velikog GET zahtjeva i dobivanjem root pristupa sistemu.

Paketna rješenja za Debian i Ubuntu još nisu objavljena y ranjivost ostaje neispravljena gotovo dva mjeseca od trenutka javnog objavljivanja i pet mjeseci od trenutka kada su programeri Glibc-a bili obaviješteni.


Ostavite komentar

Vaša e-mail adresa neće biti objavljena. Obavezna polja su označena sa *

*

*

  1. Odgovoran za podatke: AB Internet Networks 2008 SL
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obavezi.
  5. Pohrana podataka: Baza podataka koju hostuje Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.