...

GhostLock: Egy 15 éves Linux kernelhiba, amihez 5 másodperces publikus root exploit is készült

Egy 2011 óta lappangó Linux kernel sebezhetőséget hoztak nyilvánosságra 2026. július 7-én, mellé pedig egy teljes, működő exploitot is publikáltak. A GhostLock névre keresztelt hibával bármely jogosultság nélküli helyi felhasználó nagyjából öt másodperc alatt root jogot szerez, 97%-os megbízhatósággal.

 A Nebula Security kutatói azonosították a CVE-2026-43499 néven követett hibát, a Google pedig 92 337 dollárral jutalmazta őket kernelCTF bug bounty programján keresztül.

A GhostLock nem távoli kódfuttatás. Támadáshoz először helyi hozzáférés kell. Csakhogy 2026-ban a "helyi hozzáférés" jóval alacsonyabb küszöb, mint amilyennek hangzik. Ráadásul ugyanez a hiba konténerből is kitör. Ez már a második komoly Linux jogosultság-kiterjesztési sztori idén az áprilisi Copy Fail után. Mindkettőt automatizált elemző eszközök találták meg évek óta használt, sokszor átnézett kernelkódban, amiben emberi kódbírálók is megbíztak.

Mi is pontosan a GhostLock?

A GhostLock egy use-after-free hiba a Linux kernel valós idejű mutex priority-inheritance kódjában. Konkrétan a remove_waiter() segédfüggvényben, a kernel/locking/rtmutex.c fájlban.

Egyszerűbben: a futex – fast userspace mutex – az építőelem, amivel a glibc-hez hasonló könyvtárak szinkronizálják a memóriát megosztó szálakat. A priority-inheritance futex egy speciális változat, ami a priority inversion nevű párhuzamossági problémát hivatott elkerülni. Ilyenkor egy fontos szál beragad, mert egy jelentéktelen szál fog egy erőforrást. Ez a mechanizmus – CONFIG_FUTEX_PI – szinte minden mainstream Linux disztribúcióban alapból be van kapcsolva.

A hiba a mechanizmus egyik takarító ágában van. A remove_waiter() abból indult ki, hogy a takarítást végző szál mindig a saját kérését bontja le. Ez az esetek 99%-ában igaz is. A FUTEX_CMP_REQUEUE_PI requeue útvonalon viszont a kernelnek egy másik, alvó szál nevében kell visszatekerést végeznie, ha deadlock ciklust észlel. Itt borul a feltételezés, méghozzá csendben.

Az eredmény: a függvény rossz task könyvelési állapotát nullázza, így egy már felszabadított kernel stack memóriára mutató pointer marad lógva. Use-after-free a kernel stacken – bármely jogosultság nélküli folyamatból, külön képességek, namespace vagy hardver nélkül.

A Nebula publikus exploitja innen három futexet és összehangolt szálakat szervez egy konkrét priority-inversion deadlockba, a felszabadított stack keretet egy hamis waiter struktúrával foglalja vissza, ezt a korlátozott írást tetszőleges kernel olvasás/írássá láncolja, átveszi a vezérlést, és root shellt kap. Az egész lánc kb. öt másodperc.

Miért nem találták meg 15 évig?

A sérülékeny kód 2011 májusában, a Linux 2.6.39-ben jelent meg. Azóta minden kiadott kernel tartalmazza. Az érintett tartomány 2.6.39-től 7.1-rc1-ig tart. Gyakorlatilag a teljes modern Linux-korszak.

A futex priority-inheritance kódot rengeteget vizsgálták az évek során, de szinte mindig párhuzamossági és helyességi szempontból: deadlockot, versenyhelyzetet, zárolási sorrend hibákat kerestek. A GhostLock más kérdést vet fel: ez a takarító ág mindig a jó taskon dolgozik? Ezt könnyű benézni, főleg egy olyan kódban, ami 15 éve éles környezetben fut incidens nélkül.

Ugyanez a minta volt a Copy Failnél áprilisban. Mindkét hiba alaposan átnézett alrendszerben volt – kriptográfia és zárolás –, ahol a bírálók a jófajta hibákat keresték, csak épp nem azt a strukturális feltételezést, ami végül rossz volt. És mindkettőt végső soron nem emberi kódbírálat, hanem automatizált elemzés találta meg.

A Nebula a GhostLockot VEGA nevű automatizált kernel-elemző eszközével azonosította. Az AI és az automatizált statikus elemzés növekvő szerepe a több évtizedes, ember által átnézett hibák megtalálásában ma a Linux biztonság egyik legfontosabb változása.

Konténerkitörés – miért kritikus a felhő és a hosting

A GhostLock nem csak helyi jogkör-kiterjesztés, hanem konténerkitörés is. Egy konténerben futó támadó kód ugyanazt a futex requeue útvonalat használva kitörhet a konténer izolációjából, eléri a host kernelt, és root lesz a host gépen, valamint minden más tenanton is, ami ott fut.

Ez a fenyegetési modell a legfontosabb felhős infrastruktúránál, megosztott tárhelyeken, konténerizált CI/CD pipeline-oknál és minden többbérlős környezetben. Ezek a rendszerek arra építenek, hogy egy kompromittálódott konténer nem érheti el a hostot. A GhostLock ezt a feltételezést érvényteleníti bármely javítatlan kernelen.

Egy megosztott Linux hoston – webszerver, Kubernetes node, CI runner – rövid a támadási lánc. Egy webalkalmazás sérülékenysége, egy rosszindulatú CI job, vagy bármi, ami jogosultság nélküli kódfuttatást ad egy konténerben, már elég. A GhostLock végigviszi: konténerkitörés, host root, teljes kompromittálás minden tenanton.

Az IonStack lánc – rosszindulatú weboldaltól a rootig

A Nebula közzétett egy ritkább demonstrációt is: teljes remote-to-root láncot. IonStack néven két sérülékenységet fűz össze.

Az első fele a CVE-2026-10702 – egy Firefox sandbox escape, ami rosszindulatú weboldalról ad kódfuttatást. A második fele a GhostLock. Együtt: a felhasználó megnyit egy oldalt, a támadó a végén root jogot kap a gépen. A láncot Android Firefoxon is bemutatták, így a hatás túlmutat a desktop Linuxon.

Ez fontos kontextus, ha valaki azt gondolja: "egyedül használom a gépet, a helyi hibák nem érintenek". Személyes gépen a böngésző exploit reális első lépés a helyi kódfuttatáshoz, a GhostLock pedig a következő lépés.

2026 jogkör-kiterjesztési éve – egy minta, amire figyelni kell

A GhostLock 2026 harmadik nagy Linux jogkör-kiterjesztése, és a minta mindháromnál feltűnő.

  • Copy Fail – CVE-2026-31431, 2026. április, 2017-ben került be. Logikai hiba a kernel AEAD kriptográfiai sablonjában. AI találta. 732 bájtos Python script kellett a roothoz.
  • Bad Epoll – CVE-2026-46242, 2026. június. Jogosultság-kiterjesztés a kernel epoll alrendszerében, kernelCTF-en bizonyítva. Androidon is működik. Ugyanabban a kódrészben találták, ahol egy AI modellhez kötöttek egy kapcsolódó hibát.
  • GhostLock – CVE-2026-43499, 2026. július, 2011-ben került be. Use-after-free a futex priority-inheritance útvonalon. VEGA, AI-alapú elemző eszköz találta. Publikus exploit, 97% megbízhatóság, konténerkitörés is van.

Mindhármat automatizált eszközök találták régi kernelkódban. Mindhárom olyan alrendszerben, amit emberek évekig vizsgáltak, mégsem vették észre ezeket a konkrét problémákat. Ez nem véletlen. Ez egy jelzés arról, merre tart a kernelbiztonsági kutatás következő generációja, és mit talál meg, amit a manuális átnézés nem.

Érintett vagyok?

A GhostLock minden Linux rendszert érint, ami 2.6.39 és 7.1-rc1 közötti kernelt futtat, és be van fordítva CONFIG_FUTEX_PI támogatással – ez alapértelmezett minden nagyobb disztrón. Gyakorlatban: ha nem tettél fel GhostLock-specifikus kernel frissítést, tekintsd sérülékenynek a rendszert.

Ellenőrizd a kernel verziódat:

Bash

uname -r

Ellenőrizd, hogy a sérülékeny futex PI funkció be van-e fordítva:

Bash

grep CONFIG_FUTEX_PI /boot/config-$(uname -r)

Ha az eredmény CONFIG_FUTEX_PI=y – és az is lesz –, és még nem raktál fel javított kernelt, akkor sérülékeny rendszert futtatsz.

Hogyan javíts – disztrónként

Nincs teljes futásidejű megkerülés. Az egyetlen teljes javítás a patchelt kernel. Frissíts azonnal.

Ubuntu:
Az Ubuntu a legújabb kiadást és néhány cloud kernelt korán javította, de július elején a 24.04, 22.04 és 20.04 LTS még "folyamatban" státuszban volt. Ellenőrizd és frissíts:

Bash

sudo apt update && sudo apt upgradesudo rebootuname -r

Kövesd az Ubuntu Security Notices oldalt a CVE-2026-43499 alatt a kiadásonkénti javított csomagverziókért.

Debian:

Bash

sudo apt update && sudo apt full-upgradesudo reboot

Nézd a Debian Security Trackert a kiadásonkénti státuszért.

AlmaLinux:
A javított kernelek már éles tárolókban vannak minden támogatott AlmaLinux kiadáshoz:

Bash

sudo dnf clean metadata && sudo dnf upgradesudo reboot

Javított verziók: AlmaLinux 8 – kernel-4.18.0-553.141.2.el8_10 vagy újabb. AlmaLinux 9 – kernel-5.14.0-687.24.1.el9_8 vagy újabb. AlmaLinux 10 – kernel-6.12.0-211.32.1.el10_2 vagy újabb.

RHEL / CentOS Stream:
A Red Hat megerősítette, hogy a CVE-2026-43499 érinti az RHEL 6–10-et és minden rétegzett terméket, köztük OpenShift, OpenStack, Virtualization. Kövesd az RHSB-2026-010-at az erratákért, és telepítsd, amint elérhetők:

Bash

sudo dnf update kernelsudo reboot

Fedora:

Bash

sudo dnf update kernelsudo reboot

Arch Linux:

Bash

sudo pacman -Syusudo reboot

CloudLinux, újraindítás nélkül:
KernelCare livepatch csomagok elérhetők a CVE-2026-43499-hez CloudLinux 7, 8, 9 és 10 streameken. Telepítés után ellenőrizd:

Bash

kcarectl --patch-info | grep CVE-2026-43499

Részleges enyhítések, amíg a patchre vársz

Nincs teljes host-szintű megkerülés. A sérülékeny funkció bele van fordítva a kernelbe, futó rendszeren nem kapcsolható ki. Két opció viszont csökkentheti a kockázatot bizonyos környezetekben, amíg a javított kernelre vársz.

Konténeres környezetek – seccomp szűrő:
Egy seccomp policy, ami blokkolja a három futex PI syscall műveletet, lezárja a kiváltó útvonalat konténeres workloadoknál:

  • FUTEX_LOCK_PI
  • FUTEX_WAIT_REQUEUE_PI
  • FUTEX_CMP_REQUEUE_PI

A kompromisszum valós: bármely alkalmazás, ami priority-inheritance mutexekre támaszkodik, elhasal ettől. A legtöbb webes workloadnál ez átmenetileg járható út. Valós idejű vagy késleltetés-érzékeny szolgáltatásoknál nem.

Build-idejű hardening opciók, amik nehezítik a kihasználást:
Két kernel build opció nehezebbé teszi az exploit futtatását, de nem javítja az alaphibát:

  • RANDOMIZE_KSTACK_OFFSET – randomizálja a kernel stack offseteket, kevésbé kiszámíthatóvá teszi a stack spray lépést
  • STATIC_USERMODE_HELPER – blokkolja a Nebula publikus exploit láncában bemutatott root technikát

Ezek enyhítések, nem javítások. Csak átmeneti kockázatcsökkentésnek tekintsd, nem a patchelés helyettesítőjének.

Gyors teendő lista

Bash

# 1. Nézd meg a kernel verziódatuname -r
# 2. Ellenőrizd, hogy a CONFIG_FUTEX_PI be van-e fordítvagrep CONFIG_FUTEX_PI /boot/config-$(uname -r)
# 3. Kernel frissítések azonnal# Ubuntu/Debiansudo apt update && sudo apt upgrade && sudo reboot
# AlmaLinux/RHEL/Fedorasudo dnf clean metadata && sudo dnf update kernel && sudo reboot
# Arch Linuxsudo pacman -Syu && sudo reboot
# 4. Újraindítás után ellenőrizd, hogy a javított verzió futuname -r
# 5. Csak konténeres környezetek – alkalmazz seccomp szűrőt a futex PI műveletek blokkolására# amíg a host kernel patchre vársz

16 lines hidden

A lényeg

A GhostLock komoly sérülékenység, ami ugyanazt az azonnali figyelmet érdemli, mint az idei Copy Fail. Egy 15 éves hiba, publikus, 97%-ban megbízható exploit, konténerkitörés, és bemutatott remote-to-root lánc böngészőn át. A patch a legtöbb nagy disztrónál már elérhető.

A megosztott és többbérlős gépeket javítsd először – felhőszerverek, Kubernetes node-ok, konténer hostok, CI runner-ek, ahol a helyi kódfuttatás az üzemi modell része. A személyes asztali gépek alacsonyabb prioritásúak, de amint a disztród kiadta a frissítést, ott is javíts.

A GhostLock, a Bad Epoll és a Copy Fail együttes tanulsága kényelmetlen, de érdemes végiggondolni: az automatizált eszközök 15 éves hibákat találnak a Linux kernel leginkább átnézett részeiben. Lesz még több.

Hozzászólások(0)