2026 júniusának egyik legnagyobb biztonsági híre a "pedit COW" becenevű Linux kernel sebezhetőség, hivatalos nevén CVE-2026-46331.
A hiba lényege, hogy egy teljesen hétköznapi, nem privilegizált felhasználó a rendszeren root jogosultságot szerezhet – méghozzá anélkül, hogy egyetlen fájlt is módosítana a lemezen. A CVE kiosztása után alig egy nappal már működő, nyilvánosan elérhető exploit jelent meg, ezért a rendszergazdák világszerte kapkodva telepítik a javításokat.
Ha Linux szervereket, konténereket vagy megosztott hosting környezeteket üzemeltetsz, ez a cikk összefoglalja, amit a pedit COW-ról tudnod kell: mi ez pontosan, miért veszélyes, kiket érint, és hogyan védekezhetsz ellene most azonnal.
Mi az a pedit COW?
A pedit COW egy helyi jogosultság-kiterjesztési (local privilege escalation, LPE) sebezhetőség a Linux kernel forgalomszabályozó (traffic control, tc) alrendszerében. Konkrétan az act_pedit nevű komponensben rejtőzik, amely a hálózati csomagok fejléceinek valós idejű átírásáért felelős.
A név két technikai fogalomból áll össze:
- "pedit" – a packet editing, azaz csomag-szerkesztés rövidítése: ez a tc azon művelete, amely a csomagadatokat módosítja, miközben azok áthaladnak a kernel forgalomszabályozó keretrendszerén.
- "COW" – a copy-on-write (írás esetén másolás) rövidítése: ez az a memóriakezelési stratégia, amellyel a kernel elkerüli a felesleges adatmásolást. Több folyamat is megosztja ugyanazt a memórialapot mindaddig, amíg valamelyiknek módosítania nem kell rajta – ekkor készül csak el a saját, privát másolat.
A pedit COW pontosan ezt a második mechanizmust töri meg. A csomagszerkesztésért felelős kernelfüggvény, a tcf_pedit_act(), még azelőtt kiszámolja, mekkora memóriaterületet kell privatizálnia, mielőtt tudná a tényleges írási címeket. Bizonyos szerkesztési műveletek csak futás közben derítik ki a valódi célterületet, így az a memóriatartomány, amelyet a kernel "levédett", a valóságban túl kicsinek bizonyul. Az eredmény egy tartományon kívüli (out-of-bounds) írás, amely a privatizált másolaton kívülre, egyenesen a megosztott lapgyorsítótárba (page cache) kerül.
Mivel a lapgyorsítótár a memóriában valós fájlokat is reprezentálhat, ez az eltévedt írás egy törvényes fájl memóriabeli képét is megfertőzheti – akár egy setuid-root bináris állományét is, mint amilyen a /bin/su.
Hogyan működik az exploit?
A nyilvánosan elérhető proof-of-concept exploit egy már jól ismert mintát követ:
- A nem privilegizált felhasználó létrehoz egy user namespace-t (felhasználói névteret), amely ezen a névtéren belül megadja neki a
CAP_NET_ADMINképességet – ez elég ahhoz, hogy valódi root jog nélkül is beállítsontcforgalomszabályozási szabályokat. - A támadó olyan
peditszabályokat konfigurál, amelyek kiváltják a hibás eltolás-számítást atcf_pedit_act()függvényben. - A tartományon kívüli írás célja egy setuid bináris – jellemzően a
/bin/su– gyorsítótárazott, memóriabeli másolata, amelybe egy kis kártékony kódot injektál. - A támadó lefuttatja a megfertőzött binárist, amely immár root jogosultsággal fut.
A teljes támadás a memóriában zajlik. A lemezen lévő fájl soha nem módosul, így a hagyományos fájlintegritás-ellenőrző eszközök nem veszik észre – miközben a támadónak már nyitva van egy root shellje, minden ellenőrző összeg (checksum) tisztának mutatkozik.
Miért aggódnak emiatt a biztonsági szakemberek?
Néhány tényező különösen aggasztóvá teszi a pedit COW-ot:
- Nem egynapos (0-day), hanem N-day sebezhetőség. Az alapjául szolgáló javítást csendben, biztonsági felhajtás nélkül nyújtották be a kernel netdev levelezőlistájára, mint egy rutin adatsérülési javítást, CVE-azonosító és biztonsági kontextus nélkül. Ez azt jelenti, hogy a kihasználható technikai részlet hetekig nyilvánosan elérhető volt, mielőtt a legtöbb gyártó és sebezhetőség-vizsgáló rendszer felfigyelt volna rá.
- Az exploit szinte azonnal fegyverkész lett. A CVE kiosztása után nagyjából egy nappal már megjelent egy működő, nyilvánosan elérhető proof-of-concept.
- Nem hagy nyomot a lemezen. Mivel a sérülés kizárólag a RAM-ban él, a szokásos fájlintegritás-ellenőrzések vakok rá.
- Ismerős mintát követ. A pedit COW egy egyre bővülő család tagja, amelybe olyan lapgyorsítótár-sérülési hibák tartoznak, mint a Dirty Pipe, a DirtyClone vagy a Dirty COW – ezekben mindig egy gyors kernel-útvonal ír bele egy olyan memórialapba, amelyet valójában nem birtokol kizárólagosan.
Kiket érint a hiba?
A pedit COW a Linux-ökoszisztéma jelentős részét érinti:
- Érintett kernelverziók: Linux v5.18-tól v7.1-rc6-ig. A hibát egy konkrét kernel commit vezette be, és a v7.1-rc7-ben javították.
- Érintett disztribúciók: RHEL 8, 9 és 10; Debian 13 ("trixie"); valamint az Ubuntu 18.04-től 26.04-ig terjedő kiadásai, a pontos kernelverziótól és beállításoktól függően.
- Két feltételnek egyszerre kell teljesülnie ahhoz, hogy egy rendszer kihasználható legyen:
- Az
act_peditkernelmodul betölthető legyen (ez sok rendszeren alapértelmezetten, akár automatikus betöltéssel is igaz). - Engedélyezve legyenek a nem privilegizált user namespace-ek – ez sok modern Ubuntu és Debian rendszeren alapértelmezett, míg a RHEL-en és leszármazottain gyakran korlátozott.
- Az
A legmagasabb kockázatnak a többfelhasználós rendszerek és konténer-hosztok vannak kitéve – megosztott szerverek, CI/CD futtatók, hosting platformok, Kubernetes node-ok –, tehát mindenhol, ahol nem megbízható kód már most is futhat nem privilegizált felhasználóként. Ezeken a rendszereken a pedit COW egy apró belépési pontból egyből teljes root kompromittálódást csinál.
Hogyan javítsuk és mérsékeljük a pedit COW kockázatát?
1. Kernel frissítése (elsődleges javítás)
A végleges megoldás egy olyan kernelverzióra való frissítés, amely tartalmazza a CVE-2026-46331 hivatalos javítását:
- Ellenőrizd a jelenlegi kernelverziódat a
uname -rparanccsal. - Hasonlítsd össze a disztribúciódhoz tartozó javított verzióval (ez a gyártó biztonsági közleményében található meg).
- Telepítsd a kernelfrissítést a szokásos csomagkezelőddel, majd indítsd újra a rendszert, vagy alkalmazz élő (live) patchet, ha a környezeted ezt támogatja.
2. Ideiglenes mérséklés: az act_pedit modul letiltása
Ha nem használsz tc pedit szabályokat, megakadályozhatod a sebezhető modul betöltését:
# Ellenőrizd, be van-e töltve a modul
lsmod | grep act_pedit
# Tiltsd le a betöltését
echo 'install act_pedit /bin/true' | sudo tee /etc/modprobe.d/disable-act_pedit.conf
# Ha már be van töltve, távolítsd el (vagy indíts újra)
sudo rmmod act_pedit
3. Ideiglenes mérséklés: nem privilegizált user namespace-ek letiltása
Ez megszünteti azt a képességet, amelyre az exploit épül:
# Debian / Ubuntu
sudo sysctl -w kernel.unprivileged_userns_clone=0
# RHEL és leszármazottai
sudo sysctl -w user.max_user_namespaces=0
Figyelem: a nem privilegizált user namespace-ek letiltása elronthatja a rootless konténereket, egyes CI/CD sandboxokat, valamint a sandboxolt böngészőket. Éles bevezetés előtt alaposan teszteld a változtatást.
4. Ha gyanús a kompromittálódás
Mivel a sérülés a memóriában él, a megfertőzött lapgyorsítótár ürítésével eltávolítható:
echo 3 | sudo tee /proc/sys/vm/drop_caches
Ez csak kármentés, nem helyreállítás – eltünteti a megfertőzött memóriabeli másolatot, de semmit sem tesz azzal a root shell-lel, amelyet a támadó esetleg már megnyitott. Ha okod van feltételezni, hogy egy rendszer kompromittálódott, kezeld úgy, és kövesd az incidenskezelési folyamatodat.
Észlelési tippek
A pedit COW-ra nincs megbízható, utólagos jel, hiszen semmit nem hagy a lemezen. Ennek ellenére érdemes figyelni a következőkre:
- Az
act_peditmodul váratlan betöltése olyan gépeken, amelyek normál esetben nem végeznek forgalomszabályozási csomag-szerkesztést. - Szokatlan
tcparancshasználat olyan felhasználóktól vagy folyamatoktól, amelyek egyébként soha nem konfigurálnak hálózatot. - Nem privilegizált user namespace-ek létrehozása közvetlenül a
suvagysudotípusú setuid binárisok futtatása előtt. - Shell futtatás közvetlenül forgalomszabályozási tevékenység után, amikor erre nincs jogos üzleti indok.
Az auditctl segítségével figyelhető ez a tevékenység:
auditctl -w /sbin/tc -p x -k tc_exec
auditctl -w /usr/sbin/tc -p x -k tc_exec
Pedit COW vs. Dirty Pipe, DirtyClone és Dirty COW
A pedit COW egy tágabb Linux kernel hibacsalád tagja, amelyben minden hiba ugyanazt az alapmintát követi: egy gyors kernel-útvonal beleír egy memórialapba, amelyet nem birtokol teljes egészében, és ezt a megosztott lapgyorsítótár szenvedi meg.
- Dirty COW (2016) – az egyik legkorábbi és leghíresebb példa a copy-on-write mechanizmusban rejlő versenyhelyzetre (race condition).
- Dirty Pipe (2022) – lehetővé tette írásvédett fájlok tartalmának felülírását egy pipe-buffer hiba kihasználásával.
- DirtyClone (CVE-2026-43503) – nagyjából a pedit COW-val egy időben nyilvánosságra hozott hiba, amely az ESP/XFRM bemeneti útvonal skb-fragmens-átviteli segédfüggvényeiben található, de ugyanahhoz a lapgyorsítótár-sérüléshez vezet.
A belépési pont hibánként eltérő, de a hatás mindig ugyanaz: egy nem privilegizált helyi felhasználóból root lesz.
Gyakran ismételt kérdések
Távolról is kihasználható a pedit COW? Nem. Helyi hozzáférés szükséges hozzá – a támadónak már képesnek kell lennie arra, hogy nem privilegizált kódot futtasson a célgépen. A valódi veszély akkor jön létre, ha ezt egy másik sebezhetőséggel láncolják össze (webshell, kompromittált fiók vagy megosztott konténer), amely biztosítja ezt a kezdeti belépési pontot.
Az antivírus vagy a fájlintegritás-ellenőrzés kiszűri? Általában nem. A sérülés a RAM-ban lévő lapgyorsítótárban történik, nem a lemezen lévő fájlban, így a fájlintegritás-ellenőrző eszközök jellemzően tiszta eredményt jeleznek akkor is, ha a rendszer már kompromittálódott.
Mi a legfontosabb teendő? Frissítsd a kernelt. A mérséklő intézkedések (az act_pedit letiltása, a nem privilegizált user namespace-ek kikapcsolása) hasznos átmeneti megoldások, de csak a kernelfrissítés zárja le teljesen a sebezhetőséget.
Az asztali Linux-felhasználókat is érinti? Elméletileg igen, bár a kockázat lényegesen nagyobb a többfelhasználós rendszereken, a megosztott hostingon és a konténerplatformokon, ahol nem megbízható felhasználók vagy workloadok már most is nem privilegizált kódot futtatnak. Egy tipikus egyfelhasználós asztali gép támadási felülete jóval kisebb, de a frissítés ott is indokolt.
Összegzés
A pedit COW (CVE-2026-46331) jó példa arra, hogy egy "csak helyileg kihasználható" sebezhetőség ugyanolyan veszélyes lehet, mint egy távolról kihasználható – különösen a legtöbb szervezet által üzemeltetett többbérlős, konténerizált infrastruktúrán. A megoldás egyszerű: mihamarabb frissítsd a kernelt, és ha ez most nem lehetséges, használd áthidaló megoldásként a modul letiltását és a user namespace-ek korlátozását. Tekintve, hogy a nyilvánosságra hozatal után milyen gyorsan megjelent egy működő exploit, ezt inkább aznapi, mintsem a következő karbantartási ablakra halasztható feladatként érdemes kezelni.


Hozzászólások(0)