Linux 6.1 tuum VMA (Virtuaalne MĂ€luala) andmete struktuuri red-black tree'lt maple tree'le ĂŒleminek tĂ”i kaasa haavatavuse (CVE-2023-3269), mis vĂ”imaldab mitteprivilegeeritud kasutajal kĂ€ivitada oma koodi kerneli Ă”igustes. Haavatavus, mille koodinimi on StackRot, ilmneb alates 6.1 kerneli vĂ€ljaandest ja on kĂ”rvaldatud vĂ€rskendustes 6.4.1, 6.3.11 ja 6.1.37.
Maple tree struktuur on B-puu variant, mis toetab vÀÀrtuste vahemike indekseerimist ja on projekteeritud kaasaegsete protsessorite mÀlukohtade efektiivseks kasutamiseks. Maple tree'i kasutamine vÔrreldes red-black tree'ga vÔimaldab saavutada kÔrgemat jÔudlust. Haavatavus on tingitud virna laiendamise töötleja veast - maple tree struktuuris, mida kasutatakse virtuaalsete mÀlu alade haldamiseks kernelis, vÔis puu sÔlme asendamine toimuda ilma kirjutamisbloki seadmiseta, mis lÔi tingimused mÀlu piirkonna juurde pÀÀsemiseks pÀrast selle vabastamist (use-after-free).
Haavatavuse Ă€rakasutamist raskendas see, et maple tree struktuuri sĂ”lmed vabastatakse edasilĂŒkatud reĆŸiimis, kasutades callback-kutseid RCU (Read-copy-update) lukustustega. Sellegipoolest suutsid uurijad ĂŒletada tekkivad raskused ja ette valmistada töötava eksploidilimi, mille nad plaanivad avaldada juuli lĂ”pus, et anda kasutajatele aega oma sĂŒsteemide vĂ€rskendamiseks. Haavatavuse Ă€rakasutamine on vĂ”imalik peaaegu kĂ”ikides kerneli konfiguratsioonides ja nĂ”uab vaid minimaalsete Ă”iguste olemasolu.
Allikas: opennet.ru
