Zraniteľnosť v OpenOffice, ktorá umožňuje spustenie kódu pri otváraní súboru

V kancelárskom balíku Apache OpenOffice bola identifikovaná zraniteľnosť (CVE-2021-33035), ktorá umožňuje spustenie kódu pri otvorení špeciálne navrhnutého súboru vo formáte DBF. Výskumník, ktorý problém objavil, varoval pred vytvorením funkčného exploitu pre platformu Windows. Oprava zraniteľnosti je momentálne k dispozícii iba vo forme opravy v úložisku projektu, ktorá bola zahrnutá v testovacích zostavách OpenOffice 4.1.11. Zatiaľ nie sú k dispozícii žiadne aktualizácie pre stabilnú vetvu.

Problém je spôsobený tým, že OpenOffice sa pri prideľovaní pamäte spolieha na hodnoty fieldLength a fieldType v hlavičke súborov DBF bez toho, aby skontroloval, či sa skutočný typ údajov v poliach zhoduje. Ak chcete vykonať útok, môžete zadať typ INTEGER do hodnoty fieldType, ale umiestniť väčšie údaje a zadať hodnotu fieldLength, ktorá nezodpovedá veľkosti údajov s typom INTEGER, čo povedie k záveru údajov. z poľa, ktoré sa zapisuje za pridelenú vyrovnávaciu pamäť. V dôsledku riadeného pretečenia vyrovnávacej pamäte sa výskumníkovi podarilo predefinovať návratový ukazovateľ z funkcie a pomocou techník návratovo orientovaného programovania (ROP – Return-Oriented Programming) dosiahnuť vykonanie svojho kódu.

Pri použití techniky ROP sa útočník nesnaží umiestniť svoj kód do pamäte, ale operuje s časťami strojových inštrukcií, ktoré sú už dostupné v načítaných knižniciach a končí inštrukciou návratu riadenia (spravidla ide o konce funkcií knižnice) . Práca exploitu spočíva v budovaní reťazca volaní do podobných blokov („gadgetov“) na získanie požadovanej funkčnosti. Miniaplikácie použité v exploite OpenOffice boli kód z knižnice libxml2 používanej v OpenOffice, ktorá bola na rozdiel od samotného OpenOffice skompilovaná bez ochranných mechanizmov DEP (Data Execution Prevention) a ASLR (Address Space Layout Randomization).

Vývojári OpenOffice boli o probléme informovaní 4. mája, potom bolo verejné odhalenie zraniteľnosti naplánované na 30. augusta. Keďže aktualizácia stabilnej vetvy nebola dokončená v plánovanom termíne, výskumník odložil zverejnenie podrobností na 18. septembra, no vývojári OpenOffice do tohto dátumu nestihli vytvoriť vydanie 4.1.11. Je pozoruhodné, že počas toho istého výskumu bola identifikovaná podobná zraniteľnosť v kóde podpory formátu DBF v Microsoft Office Access (CVE-2021–38646), podrobnosti o nej budú zverejnené neskôr. V LibreOffice sa nenašli žiadne problémy.

Zdroj: opennet.ru

Pridať komentár