Ranljivost v OpenOffice, ki omogoča izvajanje kode pri odpiranju datoteke

V pisarniškem paketu Apache OpenOffice je bila ugotovljena ranljivost (CVE-2021-33035), ki omogoča izvajanje kode pri odpiranju posebej oblikovane datoteke v formatu DBF. Raziskovalec, ki je odkril težavo, je opozoril na ustvarjanje delujočega izkoriščanja za platformo Windows. Popravek ranljivosti je trenutno na voljo samo v obliki popravka v repozitoriju projekta, ki je bil vključen v testne različice OpenOffice 4.1.11. Za stabilno vejo še ni posodobitev.

Težavo povzroča OpenOffice, ki se pri dodelitvi pomnilnika zanaša na vrednosti fieldLength in fieldType v glavi datotek DBF, ne da bi preveril, ali se dejanski tip podatkov v poljih ujema. Če želite izvesti napad, lahko določite vrsto INTEGER v vrednosti fieldType, vendar postavite večje podatke in določite vrednost fieldLength, ki ne ustreza velikosti podatkov s tipom INTEGER, kar bo vodilo do repa podatkov iz polja, ki se piše zunaj dodeljenega medpomnilnika. Zaradi nadzorovanega prelivanja vmesnega pomnilnika je raziskovalcu uspelo redefinirati povratni kazalec iz funkcije in z uporabo povratno usmerjenih programskih tehnik (ROP - Return-Oriented Programming) doseči izvedbo svoje kode.

Pri uporabi tehnike ROP napadalec ne poskuša postaviti svoje kode v pomnilnik, temveč deluje na delih strojnih ukazov, ki so že na voljo v naloženih knjižnicah, konča pa se z ukazom vrnitve kontrole (praviloma so to konci funkcij knjižnice). . Delo izkoriščanja se zmanjša na izgradnjo verige klicev podobnih blokov ("pripomočkov") za pridobitev želene funkcionalnosti. Pripomočki, uporabljeni v izkoriščanju OpenOffice, so bili koda iz knjižnice libxml2, uporabljene v OpenOffice, ki je bila za razliko od samega OpenOffice prevedena brez zaščitnih mehanizmov DEP (Data Execution Prevention) in ASLR (Address Space Layout Randomization).

Razvijalci OpenOffice so bili o težavi obveščeni 4. maja, nato pa je bilo javno razkritje ranljivosti predvideno za 30. avgust. Ker posodobitev stabilne veje ni bila dokončana do načrtovanega datuma, je raziskovalec preložil razkritje podrobnosti na 18. september, vendar razvijalci OpenOffice do tega datuma niso uspeli ustvariti izdaje 4.1.11. Omeniti velja, da je bila med isto raziskavo ugotovljena podobna ranljivost v podporni kodi za format DBF v programu Microsoft Office Access (CVE-2021–38646), katere podrobnosti bodo razkrite pozneje. V LibreOffice ni bilo najdenih težav.

Vir: opennet.ru

Dodaj komentar