Խոցելիություն OpenOffice-ում, որը թույլ է տալիս ֆայլ բացելիս կոդի կատարումը

Apache OpenOffice գրասենյակային փաթեթում հայտնաբերվել է խոցելիություն (CVE-2021-33035), որը թույլ է տալիս կոդի կատարումը DBF ձևաչափով հատուկ մշակված ֆայլ բացելիս: Խնդիրը հայտնաբերած հետազոտողը նախազգուշացրել է Windows պլատֆորմի համար աշխատանքային շահագործում ստեղծելու մասին։ Խոցելիության շտկումը ներկայումս հասանելի է միայն ծրագրի պահոցում պատչի տեսքով, որը ներառված էր OpenOffice 4.1.11-ի թեստային նախագծում: Կայուն մասնաճյուղի համար դեռ թարմացումներ չկան:

Խնդիրն առաջանում է OpenOffice-ի կողմից, որը հիմնվում է DBF ֆայլերի վերնագրի դաշտի երկարության և դաշտի տիպի արժեքների վրա՝ հիշողություն հատկացնելու համար՝ առանց ստուգելու, որ դաշտերում տվյալների իրական տեսակը համընկնում է: Հարձակում իրականացնելու համար դաշտի տեսակ արժեքի մեջ կարող եք նշել INTEGER տեսակ, բայց տեղադրել ավելի մեծ տվյալներ և նշել դաշտի երկարության արժեք, որը չի համապատասխանում INTEGER տիպի տվյալների չափին, ինչը կհանգեցնի տվյալների պոչին: հատկացված բուֆերից դուրս գրվող դաշտից: Վերահսկվող բուֆերային արտահոսքի արդյունքում հետազոտողը կարողացավ վերասահմանել վերադարձի ցուցիչը ֆունկցիայից և, օգտագործելով վերադարձի վրա հիմնված ծրագրավորման տեխնիկան (ROP - Return-Oriented Programming), հասնել իր կոդի կատարմանը:

ROP տեխնիկան օգտագործելիս հարձակվողը չի փորձում տեղադրել իր կոդը հիշողության մեջ, այլ աշխատում է բեռնված գրադարաններում արդեն հասանելի մեքենայական հրահանգների կտորների վրա, որոնք ավարտվում են հսկիչ վերադարձի հրահանգով (որպես կանոն, դրանք գրադարանի գործառույթների վերջն են): . Exploit-ի աշխատանքը հանգում է նմանատիպ բլոկների («gadgets») զանգերի շղթայի ստեղծմանը` ցանկալի ֆունկցիոնալությունը ստանալու համար: OpenOffice-ի շահագործման մեջ օգտագործվող գաջեթները կոդ էին OpenOffice-ում օգտագործվող libxml2 գրադարանից, որը, ի տարբերություն OpenOffice-ի, կազմվել էր առանց DEP (Data Execution Prevention) և ASLR (Address Space Layout Randomization) պաշտպանության մեխանիզմների:

OpenOffice-ի մշակողները ծանուցվել են խնդրի մասին մայիսի 4-ին, որից հետո խոցելիության հրապարակային բացահայտումը նախատեսված է օգոստոսի 30-ին: Քանի որ կայուն մասնաճյուղի թարմացումը չի ավարտվել նախատեսված ամսաթվին, հետազոտողը մանրամասների բացահայտումը հետաձգել է սեպտեմբերի 18-ին, սակայն OpenOffice-ի մշակողները չեն հասցրել ստեղծել 4.1.11 թողարկումը մինչ այս ամսաթիվը: Հատկանշական է, որ նույն հետազոտության ընթացքում նմանատիպ խոցելիություն է հայտնաբերվել Microsoft Office Access-ի DBF ձևաչափի աջակցության կոդում (CVE-2021–38646), որի մանրամասները կհրապարակվեն ավելի ուշ։ LibreOffice-ում խնդիրներ չեն հայտնաբերվել:

Source: opennet.ru

Добавить комментарий