Ранливост во OpenOffice што овозможува извршување на код при отворање на датотека

Идентификувана е ранливост (CVE-2021-33035) во канцеларискиот пакет на Apache OpenOffice што овозможува извршување на кодот при отворање на специјално дизајнирана датотека во формат DBF. Истражувачот кој го откри проблемот предупреди за создавање работен експлоат за платформата Windows. Поправката на ранливоста во моментов е достапна само во форма на закрпа во складиштето на проектот, што беше вклучено во тест-изградбите на OpenOffice 4.1.11. Сè уште нема ажурирања за стабилната гранка.

Проблемот е предизвикан од тоа што OpenOffice се потпира на вредностите на fieldLength и fieldType во заглавието на датотеките DBF за доделување меморија, без да се провери дали вистинскиот тип на податоци во полињата се совпаѓа. За да извршите напад, можете да наведете ИНТЕГЕР тип во вредноста на полетоТип, но ставете поголеми податоци и наведете вредност Должина на полето што не одговара на големината на податоците со типот ИНТЕГЕР, што ќе доведе до опашката на податоците. од полето што се пишува надвор од доделениот бафер. Како резултат на контролирано прелевање на баферот, истражувачот можеше да го редефинира повратниот покажувач од функцијата и, користејќи техники за програмирање ориентирани кон враќање (ROP - Return-Oriented Programming), да го постигне извршувањето на неговиот код.

Кога ја користи техниката ROP, напаѓачот не се обидува да го постави својот код во меморијата, туку работи на делови од машински инструкции кои се веќе достапни во вчитаните библиотеки, завршувајќи со инструкција за враќање на контролата (по правило, ова се краевите на функциите на библиотеката) . Работата на експлоатот се сведува на градење на синџир на повици до слични блокови („гаџети“) за да се добие саканата функционалност. Гаџетите што се користеа во експлоатацијата на OpenOffice беа код од библиотеката libxml2 што се користи во OpenOffice, која, за разлика од самиот OpenOffice, беше составена без механизмите за заштита DEP (Data Execution Prevention) и ASLR (Address Space Layout Randomization).

Програмерите на OpenOffice беа известени за проблемот на 4 мај, по што беше закажано јавно обелоденување на ранливоста за 30 август. Бидејќи ажурирањето на стабилната гранка не беше завршено до закажаниот датум, истражувачот го одложи откривањето на деталите за 18 септември, но програмерите на OpenOffice не успеаја да создадат издание 4.1.11 до овој датум. Вреди да се одбележи дека за време на истото истражување, слична ранливост беше идентификувана во кодот за поддршка на форматот DBF во Microsoft Office Access (CVE-2021–38646), чии детали ќе бидат обелоденети подоцна. Не се најдени проблеми во LibreOffice.

Извор: opennet.ru

Додадете коментар