Файлды ашу кезінде кодты орындауға мүмкіндік беретін OpenOffice жүйесіндегі осалдық

DBF пішімінде арнайы жасалған файлды ашу кезінде кодты орындауға мүмкіндік беретін Apache OpenOffice кеңсе жиынтығында осалдық (CVE-2021-33035) анықталды. Мәселені анықтаған зерттеуші Windows платформасы үшін жұмыс істейтін эксплойт жасау туралы ескертті. Осалдықты түзету қазіргі уақытта OpenOffice 4.1.11 сынақ жинақтарына енгізілген жоба репозиторийіндегі патч түрінде ғана қолжетімді. Тұрақты филиал үшін әлі жаңартулар жоқ.

Мәселе OpenOffice бағдарламасының өрістердегі нақты деректер түрі сәйкес келетінін тексермей, жадты бөлу үшін DBF файлдарының тақырыбындағы fieldLength және fieldType мәндеріне сүйенуінен туындады. Шабуыл жасау үшін fieldType мәнінде INTEGER түрін көрсетуге болады, бірақ үлкенірек деректерді орналастырып, INTEGER түрі бар деректер өлшеміне сәйкес келмейтін өрісҰзындығы мәнін көрсетіңіз, бұл деректердің соңына әкеледі. бөлінген буферден тыс жазылатын өрістен. Бақыланатын буфердің толып кетуі нәтижесінде зерттеуші функциядан қайтару көрсеткішін қайта анықтай алды және қайтаруға бағытталған бағдарламалау әдістерін (ROP - Return-Oriented Programming) пайдалана отырып, өз кодының орындалуына қол жеткізді.

ROP техникасын пайдаланған кезде, шабуылдаушы өз кодын жадқа орналастыруға тырыспайды, бірақ жүктелген кітапханаларда бұрыннан бар машина нұсқауларының бөліктерімен жұмыс істейді, ол басқаруды қайтару нұсқауымен аяқталады (әдетте, бұл кітапхана функцияларының соңы). . Эксплойт жұмысы қалаған функционалдылықты алу үшін ұқсас блоктарға («гаджеттер») қоңыраулар тізбегін құрумен байланысты. OpenOffice эксплойтінде пайдаланылған гаджеттер OpenOffice жүйесінде пайдаланылатын libxml2 кітапханасының коды болды, олар OpenOffice-тің өзінен айырмашылығы, DEP (Деректерді орындауды болдырмау) және ASLR (Мекенжай кеңістігі орналасуын кездейсоқ реттеу) қорғау механизмдерінсіз құрастырылған.

OpenOffice әзірлеушілері мәселе туралы 4 мамырда хабардар етілді, содан кейін осалдықты көпшілікке ашу 30 тамызға жоспарланған болатын. Тұрақты филиалды жаңарту жоспарланған күнге дейін аяқталмағандықтан, зерттеуші мәліметтерді ашуды 18 қыркүйекке қалдырды, бірақ OpenOffice әзірлеушілері осы күнге дейін 4.1.11 шығарылымын жасай алмады. Бір қызығы, дәл осы зерттеу барысында Microsoft Office Access (CVE-2021–38646) бағдарламасындағы DBF пішімінің қолдау кодында ұқсас осалдық анықталды, оның егжей-тегжейлері кейінірек ашылады. LibreOffice-те ешқандай мәселе табылмады.

Ақпарат көзі: opennet.ru

пікір қалдыру