OpenOffice ievainojamība, kas ļauj izpildīt kodu, atverot failu

Apache OpenOffice biroja komplektā ir konstatēta ievainojamība (CVE-2021-33035), kas ļauj izpildīt kodu, atverot īpaši izstrādātu failu DBF formātā. Pētnieks, kurš atklāja problēmu, brīdināja par Windows platformas darba izmantošanas izveidi. Ievainojamības labojums pašlaik ir pieejams tikai ielāpa veidā projekta repozitorijā, kas tika iekļauts OpenOffice 4.1.11 testa versijās. Stabilajai filiālei vēl nav atjauninājumu.

Problēmu izraisa tas, ka OpenOffice paļaujas uz laukā Length un fieldType vērtībām DBF failu galvenē, lai piešķirtu atmiņu, nepārbaudot, vai faktiskais datu tips laukos atbilst. Lai veiktu uzbrukumu, laukāType var norādīt veidu INTEGER, bet ievietot lielākus datus un norādīt lauka garuma vērtību, kas neatbilst datu lielumam ar INTEGER tipu, kas novedīs pie datu astes. no lauka, kas tiek rakstīts ārpus piešķirtā bufera. Kontrolētas bufera pārpildes rezultātā pētnieks varēja no jauna definēt atgriešanās rādītāju no funkcijas un, izmantojot uz atgriešanos orientētas programmēšanas metodes (ROP — Return-Oriented Programming), panākt sava koda izpildi.

Izmantojot ROP paņēmienu, uzbrucējs nemēģina ievietot savu kodu atmiņā, bet darbojas ar ielādētajās bibliotēkās jau pieejamām mašīnas instrukcijām, beidzot ar vadības atgriešanas instrukciju (parasti tās ir bibliotēkas funkciju beigas) . Ekspluatācijas uzdevums ir izveidot zvanu ķēdi uz līdzīgiem blokiem (“sīkrīkiem”), lai iegūtu vēlamo funkcionalitāti. OpenOffice izmantošanā izmantotie sīkrīki bija kods no OpenOffice izmantotās bibliotēkas libxml2, kas atšķirībā no paša OpenOffice tika kompilēta bez DEP (Data Execution Prevention) un ASLR (Address Space Layout Randomization) aizsardzības mehānismiem.

OpenOffice izstrādātāji par šo problēmu tika informēti 4. maijā, pēc tam 30. augustā bija paredzēta ievainojamības publiskošana. Tā kā stabilās filiāles atjauninājums netika pabeigts paredzētajā datumā, pētnieks atlika detaļu izpaušanu uz 18. septembri, taču OpenOffice izstrādātāji līdz šim datumam nepaguva izveidot laidienu 4.1.11. Zīmīgi, ka šī paša pētījuma laikā līdzīga ievainojamība tika konstatēta DBF formāta atbalsta kodā programmā Microsoft Office Access (CVE-2021–38646), kuras detaļas tiks atklātas vēlāk. LibreOffice nav atrasta neviena problēma.

Avots: opennet.ru

Pievieno komentāru