OpenOffice pažeidžiamumas, leidžiantis vykdyti kodą atidarant failą

Apache OpenOffice biuro pakete aptiktas pažeidžiamumas (CVE-2021-33035), leidžiantis vykdyti kodą atidarant specialiai sukurtą failą DBF formatu. Problemą atradęs tyrėjas perspėjo sukurti veikiančią „Windows“ platformai skirtą išnaudojimą. Pažeidžiamumo pataisymas šiuo metu pasiekiamas tik pataisos pavidalu projekto saugykloje, kuri buvo įtraukta į bandomąsias OpenOffice 4.1.11 versijas. Stabilios šakos atnaujinimų dar nėra.

Problema kyla dėl to, kad „OpenOffice“ remiasi lauko ilgio ir lauko tipo reikšmėmis DBF failų antraštėje, kad paskirstytų atmintį, nepatikrindama, ar tikrasis duomenų tipas laukuose atitinka. Norėdami įvykdyti ataką, laukeType reikšmėje galite nurodyti INTEGER tipą, bet įdėti didesnius duomenis ir nurodyti INTEGER tipo duomenų dydžio neatitinkančią lauko ilgio reikšmę, kuri nuves į duomenų uodegą. iš lauko, kuris įrašomas už paskirto buferio ribų. Dėl kontroliuojamo buferio perpildymo tyrėjas sugebėjo iš naujo apibrėžti grįžimo rodyklę iš funkcijos ir, naudodamas grąžinimo orientuoto programavimo (ROP) metodus, pasiekti savo kodo vykdymą.

Naudodamas ROP techniką, užpuolikas nebando įdėti savo kodo į atmintį, o veikia su mašinų instrukcijomis, kurios jau yra įkeltose bibliotekose, baigiant valdymo grąžinimo instrukcija (paprastai tai yra bibliotekos funkcijų galai) . Išnaudojimo darbas susijęs su iškvietimų grandinės sukūrimu į panašius blokus („programėles“), kad būtų pasiektas norimas funkcionalumas. „OpenOffice“ išnaudojime naudojamos programėlės buvo kodas iš „OpenOffice“ naudojamos bibliotekos libxml2, kuri, skirtingai nei pati „OpenOffice“, buvo sudaryta be DEP (duomenų vykdymo prevencijos) ir ASLR (adresų erdvės išdėstymo atsitiktinio nustatymo) apsaugos mechanizmų.

„OpenOffice“ kūrėjai apie šią problemą buvo informuoti gegužės 4 d., po to viešas pažeidžiamumo atskleidimas buvo numatytas rugpjūčio 30 d. Kadangi iki numatytos datos stabilios šakos atnaujinimas nebuvo baigtas, tyrėjas detalių atskleidimą atidėjo iki rugsėjo 18 d., tačiau iki šios datos OpenOffice kūrėjai nespėjo sukurti 4.1.11 versijos. Pastebėtina, kad to paties tyrimo metu panašus pažeidžiamumas buvo nustatytas Microsoft Office Access DBF formato palaikymo kode (CVE-2021–38646), kurio detalės bus atskleistos vėliau. „LibreOffice“ problemų nerasta.

Šaltinis: opennet.ru

Добавить комментарий