CVE-2026-31431 | Súlyosság: MAGAS (CVSS 7.8) | Érintett rendszerek: szinte minden Linux disztribúció 2017 óta
Április 29-én a Theori biztonsági kutatócég nyilvánosságra hozta a CVE-2026-31431 azonosítójú sebezhetőséget, amelyet a kutatók „Copy Fail" névre kereszteltek. A hiba a Linux kernel kriptográfiai alrendszerében bújt meg — és 2017 óta jelen van szinte minden nagyobb disztribúcióban, észrevétlenül.
A sebezhetőség lényege ijesztően egyszerű: egyetlen, mindössze 732 bájtos Python szkript elegendő ahhoz, hogy egy jogosultság nélküli, helyi felhasználó root hozzáférést szerezzen Ubuntu, RHEL, Amazon Linux, SUSE és más rendszereken — bármiféle versenyfeltétel, kernel összeomlás vagy disztribúció-specifikus hangolás nélkül.
Mi a Copy Fail, és miért más, mint a korábbi hasonló hibák?
A Linux kernelnek korábban is voltak komoly jogosultság-kiterjesztési sebezhetőségei. A Dirty Cow (2016) versenyhelyzet kihasználásán alapult — sokszor több próbálkozást igényelt, és néha összeomlott tőle a rendszer. A Dirty Pipe (2022) verziófüggő volt, és precíz puffer-manipulációt követelt meg.
A Copy Fail ezekhez képest egy egészen más szintet képvisel:
- Determinisztikus: Versenyhelyzet nélkül, egyenesen lefut. Nem kell vele próbálkozni — elsőre működik.
- Hordozható: Ugyanaz a szkript fut Ubuntu-n, Amazon Linuxon, RHEL-en és SUSE-on egyaránt. Nincs szükség disztribúció-specifikus beállításra, újrafordításra, verzióellenőrzésre.
- Apró: A teljes exploit egyetlen rövid Python szkript, kizárólag standard könyvtári modulokkal (
os,socket,zlib). Python 3.10+ szükséges azos.splicemiatt. Sem lefordított kód, sem külső függőség. - Lopakodó: Az írás megkerüli a megszokott VFS írási útvonalat. A sérült oldalt a kernel visszaírási gépezetének szempontjából soha nem jelöli meg piszkosként — ezért a lemezen lévő fájl változatlan marad. A hagyományos fájlintegritás-ellenőrző eszközök (amelyek a lemezen lévő ellenőrzőösszegeket hasonlítják össze) nem fogják észrevenni a módosítást.
- Konténereken is átlép: Az oldal-gyorsítótár (page cache) az egész rendszer összes folyamata által közösen használt — a konténerhatárokon is. A Copy Fail nemcsak helyi jogosultság-kiterjesztés: konténer-szökési primitívként és Kubernetes csomópont-kompromittálási vektorként is működik.
Hogyan működik? (Technikai háttér)
A hiba gyökere a kernel algif_aead moduljában rejlik — ez az a komponens, amely az AF_ALG socketen keresztül elérhetővé teszi a kernel kriptográfiai alrendszerét a jogosultság nélküli felhasználói tér számára.
A támadási lánc három elemből áll:
1. Az oldal-gyorsítótár manipulálása splice()-szal
A splice() rendszerhívás fájlleíró és pipe között anélkül mozgat adatot, hogy azt másolná — az oldal-gyorsítótár lapjait referenciával adja át. Ha egy felhasználó egy fájlt pipe-on keresztül egy AF_ALG socketbe fűz, a socket bemeneti szórási listája (scatterlist) közvetlen hivatkozásokat tartalmaz a kernel által a fájlhoz gyorsítótárazott lapokra. Ezek nem másolatok — ezek ugyanazok a fizikai lapok, amelyeket minden read(), mmap() és execve() hívás is használ.
2. A helyben végzett (in-place) AEAD művelet hibája
Az algif_aead.c fájlban az AEAD dekódolási recvmsg() a műveletet helyben (in-place) állítja be: ugyanaz a szórási lista szolgál bemenetként és kimenetként is. Az AAD és a titkosított szöveg másolódik a felhasználói pufferbe — de a hitelesítési tag (authentication tag) lapjai nem másolódnak, hanem láncolt hivatkozásként kerülnek a kimeneti szórási listába, közvetlenül a legális írási régió mögé.
3. Az authencesn vakarása a pufferen túl ír
Az authencesn az IPsec által használt AEAD-burkoló a kibővített sorszámok (ESN) kezelésére. Dekódolás során az ESN bájtokat átrendezi — és ehhez a hívó célpufferét scatch területként használja, az érvényes AEAD kimeneti területen túl is ír 4 bájtot.
Ez a 4 bájtos felülírás a helyben végzett elrendezésben átlép a kimeneti pufferből a láncolt oldal-gyorsítótár lapokra. A kernel visszaad egy hibakódot (a titkosított szöveg hamis), de a 4 bájtos, ellenőrzött felülírás megmarad a céllapban.
A támadó teljes kontrollja van:
- Melyik fájlt írja felül (bármely olvasható fájl),
- Melyik eltolást (az ESN paraméterek megválasztásával),
- Milyen értékkel (a
sendmsg()hívásban az AAD 4–7. bájtjaival).
Egy setuid bináris (pl. su) oldal-gyorsítótárának manipulálásával az ártó szándékú helyi felhasználó rootot szerez, amint bármely privilegizált folyamat futtatja a sérült verziót.
Érintett rendszerek
A sebezhetőség minden olyan Linux disztribúciót érint, amely a 4.14 és 6.19.12 közötti upstream stabil kernel verziót szállítja. A hiba 2017-re nyúlik vissza, és közel tíz évnyi kernelfejlesztés során maradt észrevétlen.
Közvetlenül érintett (a kutatók által ellenőrzött) disztribúciók:
- Ubuntu (az Ubuntu 26.04 „Resolute" kivételével)
- Red Hat Enterprise Linux / Rocky Linux / AlmaLinux
- SUSE / openSUSE
- Amazon Linux
- Debian
- Fedora
- Arch Linux
- Oracle Linux
Mit tegyél most? – Azonnali teendők
1. lépés: Azonnali enyhítés — az érintett modul letiltása
Amíg a kernelfrissítés nem érhető el, tiltsd le az algif_aead modult:
echo "install algif_aead /bin/false" | sudo tee /etc/modprobe.d/disable-algif_aead.conf
sudo modprobe -r algif_aead
Ha a modul jelenleg használatban van és nem tölthető le, újraindítás szükséges a hatályba lépéshez.
Megjegyzés: Az enyhítés eltávolíthatja a hardveresen gyorsított kriptográfiai funkciókat, de a legtöbb felhasználó számára ez nem érzékelhető a mindennapi használatban.
2. lépés: Kernelfrissítés telepítése, amint elérhető
Ubuntu-n (ha a frissítés már elérhető):
sudo apt update && sudo apt upgrade -y
sudo reboot
Fedora / RHEL alapú rendszereken:
sudo dnf upgrade -y
sudo reboot
Az újraindítás biztosítja, hogy az enyhítés és/vagy a javítás hatályba lépjen.
3. lépés: Ellenőrizd a kmod csomag verzióját (Ubuntu)
apt-cache policy kmod
Ubuntu esetén az Ubuntu Biztonsági Csapata kiadta az enyhítéseket, amelyek letiltják az érintett Linux kernel modult a kmod csomagban. A javított kernel csomagok hamarosan megjelennek. Ha az unattended-upgrades funkció engedélyezve van (Ubuntu 16.04 LTS óta alapértelmezett), a foltok automatikusan alkalmazásra kerülnek a rendelkezésre állásuktól számított 24 órán belül.
Konténerek és Kubernetes: extra veszély
A sebezhetőség megbízhatósága, lopakodó jellege (csak memóriában módosít) és cross-platform alkalmazhatósága különösen veszélyes felhős, CI/CD és Kubernetes környezetekben, ahol megbízhatatlan kód futtatása általános.
Ha konténermunkaterheléseket futtatsz, a CERT-EU erősen ajánlja az azonnali enyhítés alkalmazását, különösen a Kubernetes csomópontokon és a nem megbízható munkaterheléseknek kitett CI/CD runnereken.
A konténerizáció nem nyújt védelmet: az oldal-gyorsítótár az egész gazdagép számára közös, a névtérhatárok nem elegendőek.
Hogyan találták meg? Az AI szerepe
A Copy Failt részben mesterséges intelligencia segítségével fedezték fel. A Theori kutatója, Taeyang Lee a Linux kriptográfiai alrendszer és az oldal-gyorsítótár interakcióját vizsgálta, majd az Xint Code AI biztonsági eszközzel skálázta fel a kutatást a teljes crypto/ alrendszerre — egyetlen operátor-prompttal, nagyjából egy óra elemzési idő alatt.
Ez az eset jól mutatja, hogyan változtatja meg az AI a biztonsági kutatást: a korábbi kernelosztályú hibák megtalálása rengeteg manuális erőfeszítést igényelt. Most egy strukturált emberi betekintés + AI szkennelés elegendő volt egy évtizedes, kritikus bug felszínre hozásához.
Összefoglalás
| Jellemző | Részlet |
|---|---|
| CVE azonosító | CVE-2026-31431 |
| Köznapi név | Copy Fail |
| CVSS pontszám | 7.8 (MAGAS) |
| Érintett kernel verziók | 4.14 – 6.19.12 |
| Nyilvánosságra hozatal | 2026. április 29. |
| Exploit mérete | 732 bájt (Python) |
| Helyi jogosultság-kiterjesztés | ✅ Igen |
| Konténer-szökés | ✅ Igen |
| Azonnali enyhítés | algif_aead modul letiltása |
A Copy Fail az elmúlt évek egyik legsúlyosabb Linux kernel sebezhetősége. Ha Linux rendszert kezelsz — legyen az asztali gép, szerver, vagy felhős infrastruktúra — most azonnal frissíts!!!


Hozzászólások(0)