Vulnerability sa OpenOffice na nagbibigay-daan sa pagpapatupad ng code kapag binubuksan ang isang file

Natukoy ang isang kahinaan (CVE-2021-33035) sa suite ng opisina ng Apache OpenOffice na nagpapahintulot sa pagpapatupad ng code kapag binubuksan ang isang espesyal na idinisenyong file sa format na DBF. Ang mananaliksik na nakatuklas ng problema ay nagbabala tungkol sa paglikha ng isang gumaganang pagsasamantala para sa Windows platform. Ang pag-aayos ng kahinaan ay kasalukuyang magagamit lamang sa anyo ng isang patch sa repository ng proyekto, na kasama sa mga pagsubok na build ng OpenOffice 4.1.11. Wala pang update para sa stable branch.

Ang problema ay sanhi ng OpenOffice na umaasa sa fieldLength at fieldType na mga halaga sa header ng mga file ng DBF upang maglaan ng memorya, nang hindi tinitingnan kung ang aktwal na uri ng data sa mga field ay tumutugma. Upang magsagawa ng pag-atake, maaari kang tumukoy ng isang uri ng INTEGER sa halaga ng fieldType, ngunit maglagay ng mas malaking data at tumukoy ng isang halaga ng fieldLength na hindi tumutugma sa laki ng data na may uri ng INTEGER, na hahantong sa buntot ng data mula sa patlang na isinusulat lampas sa inilalaang buffer. Bilang resulta ng isang kontroladong buffer overflow, nagawang muling tukuyin ng mananaliksik ang return pointer mula sa function at, gamit ang mga diskarte sa Return-Oriented Programming (ROP), makamit ang pagpapatupad ng kanyang code.

Kapag ginagamit ang diskarteng ROP, hindi sinusubukan ng attacker na ilagay ang kanyang code sa memorya, ngunit nagpapatakbo sa mga piraso ng mga tagubilin ng makina na magagamit na sa mga naka-load na aklatan, na nagtatapos sa isang control return instruction (bilang panuntunan, ito ang mga dulo ng mga function ng library) . Ang gawain ng pagsasamantala ay nagmumula sa pagbuo ng isang hanay ng mga tawag sa mga katulad na bloke ("mga gadget") upang makuha ang nais na paggana. Ang mga gadget na ginamit sa OpenOffice exploit ay code mula sa libxml2 library na ginamit sa OpenOffice, na, hindi katulad ng OpenOffice mismo, ay pinagsama-sama nang walang mga mekanismo ng proteksyon ng DEP (Data Execution Prevention) at ASLR (Address Space Layout Randomization).

Inabisuhan ang mga developer ng OpenOffice tungkol sa isyu noong Mayo 4, pagkatapos nito ay naka-iskedyul ang pampublikong pagsisiwalat ng kahinaan para sa Agosto 30. Dahil ang pag-update sa stable na sangay ay hindi nakumpleto sa nakatakdang petsa, ipinagpaliban ng mananaliksik ang pagsisiwalat ng mga detalye sa Setyembre 18, ngunit hindi nagawa ng mga developer ng OpenOffice na lumikha ng release 4.1.11 sa petsang ito. Kapansin-pansin na sa panahon ng parehong pananaliksik, ang isang katulad na kahinaan ay natukoy sa format ng DBF na support code sa Microsoft Office Access (CVE-2021–38646), ang mga detalye kung saan ay ibubunyag sa ibang pagkakataon. Walang nakitang mga problema sa LibreOffice.

Pinagmulan: opennet.ru

Magdagdag ng komento