De conversie van VMA (Virtual Memory Area) van de datastructuur āred-black treeā naar āmaple treeā in de Linux-kernel 6.1 heeft geleid tot een kwetsbaarheid (CVE-2023-3269) die een niet-bevoorrecht gebruiker in staat stelt zijn code met kernelrechten uit te voeren. Deze kwetsbaarheid, codenamed StackRot, manifesteert zich vanaf de release van kernel 6.1 en is opgelost in de updates 6.4.1, 6.3.11 en 6.1.37.
De structuur āmaple treeā is een variant van de B-tree die indexering op basis van waardebereiken ondersteunt en is ontworpen voor een efficiĆ«nt gebruik van de cache van moderne processoren. In vergelijking met de āred-black treeā levert het gebruik van de āmaple treeā hogere prestaties op. De kwetsbaarheid is het gevolg van een fout in de stack-extensiebehandelaar ā in de āmaple treeā-structuur, die wordt gebruikt voor het beheer van virtuele geheugengebieden in de kernel, kon een knooppunt in de boom worden vervangen zonder een schrijfvergrendeling, wat voorwaarden creĆ«erde voor toegang tot het geheugen na vrijgave (use-after-free).
De exploitatie van de kwetsbaarheid werd bemoeilijkt doordat knooppunten in de āmaple treeā-structuur uitgesteld worden vrijgegeven met hulp van callback-aanroepen met RCU (Read-copy-update) vergrendelingen. Niettemin is het onderzoekers gelukt om de opgekomen moeilijkheden te overwinnen en een werkende exploit voor te bereiden, die zij van plan zijn eind juli te publiceren, om gebruikers de tijd te geven om hun systemen bij te werken. Exploitatie is mogelijk in bijna alle kernelconfiguraties en vereist slechts minimale privileges.
Bron: opennet.ru
