Ranjivost u OpenOfficeu koja dopušta izvršavanje koda prilikom otvaranja datoteke

U uredskom paketu Apache OpenOffice identificirana je ranjivost (CVE-2021-33035) koja omogućuje izvršavanje koda prilikom otvaranja posebno dizajnirane datoteke u DBF formatu. Istraživač koji je otkrio problem upozorio je na stvaranje operativnog exploita za Windows platformu. Ispravak ranjivosti trenutno je dostupan samo u obliku zakrpe u repozitoriju projekta, koji je bio uključen u testne verzije OpenOffice 4.1.11. Još nema ažuriranja za stabilnu granu.

Problem je uzrokovan time što se OpenOffice oslanja na vrijednosti fieldLength i fieldType u zaglavlju DBF datoteka za dodjelu memorije, bez provjere podudara li se stvarni tip podataka u poljima. Da biste izvršili napad, možete navesti tip INTEGER u vrijednosti fieldType, ali postavite veće podatke i navedite vrijednost fieldLength koja ne odgovara veličini podataka s tipom INTEGER, što će dovesti do repa podataka iz polja koje se upisuje izvan dodijeljenog međuspremnika. Kao rezultat kontroliranog prekoračenja međuspremnika, istraživač je uspio redefinirati povratni pokazivač iz funkcije i, koristeći tehnike povratno-orijentiranog programiranja (ROP), postići izvršenje svog koda.

Kada koristi ROP tehniku, napadač ne pokušava svoj kod smjestiti u memoriju, već djeluje na komadiće strojnih instrukcija koje su već dostupne u učitanim bibliotekama, završavajući instrukcijom povratka kontrole (u pravilu su to krajevi funkcija knjižnice) . Rad exploit-a svodi se na izgradnju lanca poziva sličnih blokova ("gadgeta") kako bi se dobila željena funkcionalnost. Gadgeti korišteni u eksploataciji OpenOfficea bili su kod iz biblioteke libxml2 koja se koristi u OpenOfficeu, koja je, za razliku od samog OpenOfficea, kompajlirana bez zaštitnih mehanizama DEP (Data Execution Prevention) i ASLR (Address Space Layout Randomization).

Programeri OpenOfficea o problemu su obaviješteni 4. svibnja, nakon čega je javno objavljivanje ranjivosti zakazano za 30. kolovoza. Budući da ažuriranje stabilne grane nije dovršeno do planiranog datuma, istraživač je odgodio objavljivanje detalja za 18. rujna, ali programeri OpenOfficea nisu uspjeli stvoriti izdanje 4.1.11 do tog datuma. Važno je napomenuti da je tijekom istog istraživanja identificirana slična ranjivost u kodu podrške za DBF format u Microsoft Office Accessu (CVE-2021–38646), čiji će detalji biti objavljeni kasnije. U LibreOfficeu nisu pronađeni problemi.

Izvor: opennet.ru

Dodajte komentar