Néhány nappal ezelőtt ezt a hír hozta fel hibát észleltek a rendszermag verembővítésének kezelésében Linux 6.1-ről a 6.4-es verzióra, más néven "Stack Rot".
Azt emlegetik VMA fordítás (Virtuális memóriaterület) a "vörös-fekete fa" adatstruktúrából a "juharfába" a Linux 6.1 kernelben sebezhetőséget okozott (CVE-2023-3269), amely lehetővé teszi a jogosulatlan felhasználók számára, hogy kerneljogokkal hajtsák végre a kódjukat.
Mivel a StackRot egy Linux kernel biztonsági rése, amely a memóriakezelésben található alrendszer, szinte minden kernelkonfigurációt érint, és minimálisan szükséges kiváltó képességek. Azonban meg kell jegyezni, hogy a juhar csomópontjai felszabadultak RCU visszahívások használatával, a valós memóriafelszabadítás késleltetése pRCU türelmi időszak. Következésképpen a sérülékenység kihasználása mérlegelhető kihívást jelentő.
A Stack Rotról
A biztonsági rés, kódnevű StackRot, azóta létezik elindítása kernel 6.1, és a 6.4.1, 6.3.11 és 6.1.37 frissítésekben javítva.
A sérülékenységgel kapcsolatban megemlítik, hogy a juharfa szerkezet a B-fa egy változata amely támogatja a tartományindexelést és a gyorsítótár hatékony kihasználására készült modern processzorok.
A vörös-fekete fához képest a juharfa használata nagyobb teljesítmény elérését teszi lehetővé. A biztonsági rést a veremkiterjesztés-kezelő hibája okozza: A kernel virtuális memóriaterületeinek kezelésére használt juharfa struktúrában a fa csomópontjának cseréje írási zár beállítása nélkül is megtörténhet, ami megteremtette a feltételeket a memóriaterület eléréséhez annak felszabadítása után (használat után-mentes).
Minden alkalommal, amikor az "mmap()" rendszerhívást memóriafoglalás beállítására használják, a kernel létrehoz egy `vm_area_struct` nevű struktúrát, hogy képviselje a
megfelelő virtuális memóriaterület (VMA). Ez a szerkezet különféle tárolást tesz lehetővé
információk, beleértve a zászlókat, tulajdonságokat és egyéb kapcsolódó részleteket a leképezést.
Később, amikor a kernel laphibákat vagy más, a memóriával vagy a rendszerhívásokkal kapcsolatos problémákat észlel, gyorsan meg kell keresnie a VMA-t kizárólag a cím alapján.
Megemlítik, hogy korábban a VMA-kat vörös-fekete fa kezelte. Azonban, a Linux kernel 6.1-es verziójából megtörtént a juharfára való migráció, amelyek RCU-biztos B-fa adatstruktúrák, amelyeket nem átfedő tartományok tárolására optimalizáltak. Bonyolult jellege azonban bonyolultabbá teszi a kódbázist, és bevezeti a StackRot sebezhetőségét.
A probléma a VMA-k elérésekor merül fel, mivel csak az MM-olvasási zár van érvényben
és nem lép be az RCU kritikus szakaszába. Következésképpen elméletileg a visszahívás bármikor meghívható, ami a régi csomópont felszabadítását eredményezi.
A Stack Rot kiaknázási oldalán megemlítik, hogy ezt bonyolította, hogy a juharfa struktúrájában a csomópontok késleltetett módban szabadulnak fel RCU (Read-copy-update) zárolású visszahívásokkal.
Azonban, a kutatóknak sikerült leküzdeniük a nehézségeket, és egy működő Stack Rot exploitot készítettek elő amelyet július végén terveznek közzétenni, hogy a felhasználóknak legyen idejük frissíteni rendszereiket. A művelet szinte minden kernelkonfigurációban lehetséges, és csak a legkevesebb jogosultságot igényel.
Érdemes megemlíteni, hogy mint minden sebezhetőségről szóló hír, ezek is a sérülékenység „korai” feltárását szolgálják, jelen esetben a StackRot esetében. Ennek megfelelően minden folyamatot vesz igénybe, és a bejelentés előtt már elküldtük a vonatkozó értesítéseket, hogy a sérülékenységet meg lehessen oldani.
Végezetül megemlítik, hogy a sérülékenység minden lényeges részletét közölték, a teljes exploit kódot és a teljes jelentést legkésőbb július végén a nyilvánosság számára hozzáférhetővé teszik.
Ha érdekelne többet megtudni róla, a részleteket itt ellenőrizheti a következő link.