Ranjivost u OpenOfficeu koja omogućava izvršavanje koda prilikom otvaranja datoteke

Identifikovana je ranjivost (CVE-2021-33035) u kancelarijskom paketu Apache OpenOffice koja omogućava izvršavanje koda prilikom otvaranja posebno dizajnirane datoteke u DBF formatu. Istraživač koji je otkrio problem upozorio je na stvaranje radnog exploita za Windows platformu. Ispravka ranjivosti je trenutno dostupna samo u obliku zakrpe u spremištu projekta, koja je uključena u testne verzije OpenOfficea 4.1.11. Još uvijek nema ažuriranja za stabilnu granu.

Problem je uzrokovan time što se OpenOffice oslanja na vrijednosti fieldLength i fieldType u zaglavlju DBF datoteka kako bi dodijelio memoriju, bez provjere da li se stvarni tip podataka u poljima podudara. Da biste izvršili napad, možete specificirati tip INTEGER u vrijednosti fieldType, ali postaviti veće podatke i specificirati vrijednost fieldLength koja ne odgovara veličini podataka sa tipom INTEGER, što će dovesti do repa podataka iz polja koje se upisuje izvan dodijeljenog bafera. Kao rezultat kontrolisanog prekoračenja bafera, istraživač je bio u mogućnosti da redefiniše povratni pokazivač iz funkcije i, koristeći tehnike programiranja orijentisanog na povratak (ROP), postigne izvršenje svog koda.

Kada koristi ROP tehniku, napadač ne pokušava smjestiti svoj kod u memoriju, već radi na dijelovima strojnih instrukcija koje su već dostupne u učitanim bibliotekama, koje završavaju instrukcijom povratka kontrole (u pravilu su to krajevi bibliotečkih funkcija) . Rad eksploatacije svodi se na izgradnju lanca poziva sličnih blokova („gadžeta“) kako bi se dobila željena funkcionalnost. Gadgeti korišteni u eksploataciji OpenOfficea bili su kod iz biblioteke libxml2 korištene u OpenOfficeu, koja je, za razliku od samog OpenOfficea, kompajlirana bez DEP (Prevencija izvršenja podataka) i ASLR (Address Space Layout Randomization) zaštitnih mehanizama.

OpenOffice programeri su obaviješteni o problemu 4. maja, nakon čega je javno objavljivanje ranjivosti zakazano za 30. avgust. Pošto ažuriranje stabilne grane nije završeno do zakazanog datuma, istraživač je odložio otkrivanje detalja za 18. septembar, ali programeri OpenOfficea nisu uspeli da kreiraju izdanje 4.1.11 do tog datuma. Važno je napomenuti da je tokom istog istraživanja slična ranjivost identifikovana u kodu podrške DBF formatu u Microsoft Office Access-u (CVE-2021–38646), čiji će detalji biti otkriveni kasnije. Nisu pronađeni problemi u LibreOfficeu.

izvor: opennet.ru

Dodajte komentar