ĂversĂ€ttningen av VMA (Virtual Memory Area) frĂ„n datatypen "red-black tree" till "maple tree" i Linux-kĂ€rnan version 6.1 har lett till en sĂ„rbarhet (CVE-2023-3269) som gör det möjligt för en icke-privilegerad anvĂ€ndare att fĂ„ körning av sin kod med kĂ€rnprivilegier. SĂ„rbarheten, som kodnamnges StackRot, visar sig sedan lanseringen av kĂ€rnan 6.1 och har Ă„tgĂ€rdats i uppdateringarna 6.4.1, 6.3.11 och 6.1.37.
Strukturen "maple tree" Ă€r en variant av B-trĂ€d som stödjer indexering baserat pĂ„ vĂ€rderegister och Ă€r utformad för effektiv anvĂ€ndning av cacheminnet i moderna processorer. JĂ€mfört med "red-black tree" möjliggör anvĂ€ndningen av "maple tree" högre prestanda. SĂ„rbarheten orsakas av ett fel i hanteringen av stackförlĂ€ngning â i strukturen "maple tree" som anvĂ€nds för att hantera virtuella minnesomrĂ„den i kĂ€rnan, kunde ersĂ€ttning av en nod i trĂ€det ske utan att lĂ„signing för skrivning stĂ€lldes, vilket skapade förutsĂ€ttningar för Ă„tkomst till minnesomrĂ„det efter det att det frigjorts (use-after-free).
Det var mer komplicerat att utnyttja sÄrbarheten eftersom noderna i strukturen "maple tree" frigörs i fördröjd lÀge med hjÀlp av callback-anrop med RCU-lÄs (Read-copy-update). Trots detta har forskarna lyckats övervinna de uppkomna svÄrigheterna och förbereda en fungerande exploit som de planerar att publicera i slutet av juli, för att ge anvÀndarna tid att uppdatera sina system. Utnyttjandet Àr möjligt i nÀstan alla kÀrnkonfigurationer och krÀver bara minimala privilegier.
KĂ€lla: opennet.ru
