Két hét alatt három komoly kernelhiba nem hangzik jól – de a történet igazán érdekes része az, hogy a legújabbat már nem „több szem” találta meg, hanem nagyon sok gépi szem.

Mi történt

Egy Fragnesia névre keresztelt Linux kernel sebezhetőséget hoztak nyilvánosságra, amely lehetővé teheti, hogy egy jogosulatlan helyi felhasználó root (rendszergazdai) jogosultságot szerezzen. A hiba a Linux XFRM alrendszeréhez kapcsolódik: ez a kernelben az IPsec (hálózati titkosítás) körüli „csomagátalakításokat” kezeli. A konkrét érintett rész az ESP-in-TCP útvonal, vagyis amikor az ESP (Encapsulating Security Payload) titkosított forgalom TCP-be van „becsomagolva”.

A sebezhetőség lényege egy logikai hiba: a támadó képes tetszőleges bájtokat írni a kernel oldalkache-ébe (page cache) olyan fájlok esetén is, amelyek a fájlrendszer szintjén csak olvashatók. A page cache-t úgy képzeld el, mint a kernel „gyorsítótárát” a fájlok tartalmáról: ha sikerül ezt megpiszkálni, a rendszer olyan kódot is futtathat, amit a lemezen lévő fájl valójában nem tartalmaz.

Fontos részlet, hogy ehhez nem kell klasszikus versenyhelyzet (race condition). A race condition típusú hibáknál az időzítés a kulcs: akkor sikerül a támadás, ha két folyamat „pont rosszkor” találkozik. Itt viszont a leírás alapján időzítési trükkök nélkül is precízen lehet módosítani a fájlhoz kötött memórialapokat, ami a gyakorlatban megbízhatóbbá és könnyebben „felfegyverezhetővé” teszi a hibát.

Létezik proof-of-concept (PoC) exploit is: a bemutató kód a rendszerben található su (switch user) parancs memóriában cache-elt példányának elejét írja felül egy kis ELF „stubbal” (minimális futtatható kódrészlettel), amely jogosultságot emel, majd shellt indít. Magyarul: a támadó egyből root parancssorban találja magát.

Miért fontos

Ez papíron „csak” helyi jogosultságemelés, de a modern infrastruktúrákban a hatás könnyen felskálázódik. Sok felhős környezetben rengeteg, részben nem megbízható konténer fut ugyanazon a megosztott Linux kernelen. Ha egy támadó képes kódot futtatni egy konténerben vagy korlátozott felhasználóként, és közben létrehozhat namespace-eket és hálózati stacket, akkor egy ilyen hiba esélyt adhat a host root elérésére – onnan pedig már más VM-ek vagy konténerek felé is nyílik támadási felület. A sebezhetőség súlyosságát jelzi, hogy a CVSS pontszám 7,8 (magas).

A sztori másik fele az, hogy a hibát AI-ügynökös (agentic) auditálás segített megtalálni. Ez Linus klasszikus „sok szem” elvének egy új verziója: a szemek egyre gyakrabban automatizáltak, és egyszerűen gyorsabban pásztázzák át a kódbázist, mint az emberek.

Mire figyelj

  1. Patch státusz a disztródban: létezik upstream javítás, de a megjelenés időpontjában még nem volt benne a nagy disztribúciók kiadott kernelcsomagjaiban. Kövesd a disztród biztonsági közleményeit, és frissíts azonnal, amint elérhető.
  2. Kerülőmegoldások mellékhatása: az egyik javasolt mitigáció az unprivileged user namespace-ek tiltása. Ez viszont mellékhatásként fájhat a rootless konténereknek, sandboxolt böngészőknek és Flatpak alkalmazásoknak is – vagyis nem „ingyen” van.
  3. Konténeres környezetek kockázata: ha több, részben nem megbízható workload fut ugyanazon a kernelen, érdemes különösen szigorúan venni a kernel-frissítések SLA-ját, és átnézni, hol engedélyezett a namespace-/hálózati stack létrehozás.

A hibát feltáró Zellic értelmezése alapján ez csak előkép: ahogy az AI egyre jobb kódauditban és bináris visszafejtésben, nemcsak a nyílt forráskódú, hanem a zárt szoftvereknél is gyorsulni fog a sebezhetőségek megtalálása – és ezzel együtt a javítási verseny is.