Három évvel a sebezhetőségi hullám után (, , , , ) a Linux kernel AF_PACKET alrendszerében újabb probléma (), amely lehetővé teszi, hogy egy nem privilegizált lokális felhasználó kódot hajtson végre root jogokkal vagy kilépjen az elkülönített konténerekből, ha azokban root hozzáférés van.
AF_PACKET socket létrehozásához és a sebezhetőség kihasználásához CAP_NET_RAW jogosultság szükséges. Azonban ez a jogosultság megszerezhető nem privilegizált felhasználók számára olyan konténerekben, amelyek felhasználói névtér támogatással (user namespaces) létrejönnek. Például az Ubuntu és a Fedora alapértelmezetten engedélyezett a user namespaces, míg a Debianban és a RHEL-ben nem aktiválták. Az Androidon az AF_PACKET socket létrehozásához a mediaserver folyamatnak vannak jogai, amelyen keresztül a sebezhetőség kihasználható.
A sebezhetőség a tpacket_rcv funkcióban van jelen, és a netoff változó számítási hibájából ered. A támadó olyan körülményeket tud létrehozni, amelyek között a netoff változóba egy kisebb érték kerül, mint a maclen, ami túlcsordulást okoz a „macoff = netoff - maclen” számításnál, és helytelenül állítja be a bejövő adatok puffert. Ennek következtében a támadók 1 és 10 byte közötti írást indíthatnak a foglalt puffertől független területre. Megjegyzendő, hogy a rendszerben root jogok megszerzését lehetővé tevő exploit fejlesztés alatt áll.
A probléma a kernelben 2008 júliusa óta, azaz minden aktuális kernelben jelen van. A javítás egyelőre elérhető formában . A csomagfrissítések megjelenését a disztribúciókban az alábbi oldalakon lehet nyomon követni: , , , , , .
Forrás: opennet.ru
