Chyba zabezpečení v OpenOffice, která umožňuje spuštění kódu při otevírání souboru

V kancelářském balíku Apache OpenOffice byla identifikována zranitelnost (CVE-2021-33035), která umožňuje spuštění kódu při otevření speciálně navrženého souboru ve formátu DBF. Výzkumník, který problém objevil, varoval před vytvořením funkčního exploitu pro platformu Windows. Oprava zranitelnosti je v současné době dostupná pouze ve formě opravy v úložišti projektu, která byla součástí testovacích sestavení OpenOffice 4.1.11. Pro stabilní větev zatím nejsou žádné aktualizace.

Problém je způsoben tím, že OpenOffice se při alokaci paměti spoléhá na hodnoty fieldLength a fieldType v hlavičce souborů DBF, aniž by zkontroloval, zda se skutečný datový typ v polích shoduje. Chcete-li provést útok, můžete zadat typ INTEGER do hodnoty fieldType, ale umístit větší data a zadat hodnotu fieldLength, která neodpovídá velikosti dat s typem INTEGER, což povede na konec dat. z pole zapisovaného mimo přidělenou vyrovnávací paměť. V důsledku řízeného přetečení bufferu byl výzkumník schopen předefinovat návratový ukazatel z funkce a pomocí návratově orientovaných programovacích technik (ROP - Return-Oriented Programming) dosáhnout provedení svého kódu.

Při použití techniky ROP se útočník nesnaží umístit svůj kód do paměti, ale operuje s částmi strojových instrukcí, které jsou již dostupné v načtených knihovnách a končí instrukcí pro návrat řízení (zpravidla se jedná o konce funkcí knihovny) . Práce exploitu spočívá v sestavení řetězce volání do podobných bloků („gadgetů“) k získání požadované funkčnosti. Gadgety použité v exploitu OpenOffice byly kódy z knihovny libxml2 používané v OpenOffice, která byla na rozdíl od samotného OpenOffice zkompilována bez ochranných mechanismů DEP (Data Execution Prevention) a ASLR (Address Space Layout Randomization).

Vývojáři OpenOffice byli na problém upozorněni 4. května, poté bylo veřejné odhalení zranitelnosti naplánováno na 30. srpna. Vzhledem k tomu, že aktualizace stabilní větve nebyla dokončena v plánovaném termínu, výzkumník odložil zveřejnění podrobností na 18. září, ale vývojáři OpenOffice do tohoto data nestihli vytvořit verzi 4.1.11. Je pozoruhodné, že během stejného výzkumu byla identifikována podobná chyba zabezpečení v kódu podpory formátu DBF v aplikaci Microsoft Office Access (CVE-2021–38646), jejíž podrobnosti budou zveřejněny později. V LibreOffice nebyly nalezeny žádné problémy.

Zdroj: opennet.ru

Přidat komentář