Un usuari sense privilegis que pugui obrir un socket no hauria de poder reescriure /usr/bin/su i acabar sent root. Doncs això és just el que permet CVE-2026-31431, batejat Copy Fail, un error d’escalada local al mòdul algif_aead del kernel Linux que es va reportar a l’equip de seguretat del kernel el 23 de març de 2026.
Què és i d’on ve
algif_aead forma part de l’API criptogràfica AF_ALG, la interfície que exposa els algorismes del kernel a programes d’espai d’usuari mitjançant sockets. El problema neix d’una optimització que es va introduir el 2017. Per evitar copiar dades, el codi permetia col·locar pàgines de la page cache directament en una scatterlist de destí escrivible. Aquella idea, pensada per guanyar rendiment, va obrir la porta que un procés escrigués sobre pàgines que en realitat sostenen fitxers del sistema.
L’identificador formal és CWE-669 (transferència incorrecta de recursos entre esferes) i la puntuació CVSS és 7.8. No és execució remota, però la combinació de “qualsevol usuari local” i “escalada directa a root” el fa seriós.
Com s’explota
Encadenant operacions del socket AF_ALG amb splice(), un atacant aconsegueix una escriptura controlada de 4 bytes sobre qualsevol fitxer llegible sostingut per la cau de pàgines. Quatre bytes semblen poca cosa, però ben col·locats basten per corrompre un binari setuid com su i obrir el camí a una shell de root. La tècnica també serveix per sortir de contenidors: als nodes de Kubernetes i runners de CI/CD que comparteixen kernel amb l’amfitrió, el mateix error permet escapar de l’aïllament.
El pedaç a mainline (commit a664bf3d603d, de l’1 d’abril de 2026) reverteix directament aquella optimització del 2017. Després de la publicació, la vulnerabilitat va entrar al catàleg KEV de CISA amb prova de concepte pública.
A qui afecta
Pràcticament qualsevol distribució amb un kernel compilat entre el 2017 i l’arribada del pedaç. Entre les versions verificades com a vulnerables hi ha Ubuntu 24.04 LTS (kernel 6.17 en imatges AWS), Amazon Linux 2023, RHEL 10.1 i SUSE 16. Ubuntu 26.04 i posteriors no estan afectades. Si administres la línia principal del kernel Linux, val la pena revisar la versió exacta que executes.
Què fer
El primer és actualitzar el kernel tan bon punt la teva distribució publiqui la correcció. Mentre arriba, hi ha dues mitigacions raonables:
- Desactivar el mòdul
algif_aead. Crea un fitxer a/etc/modprobe.d/disable-algif.confamb la líniainstall algif_aead /bin/trueper impedir que es carregui. Si alguna aplicació legítima fa servir AF_ALG, prova-ho abans en un entorn de staging. - En contenidors i clústers de Kubernetes, bloquejar la creació de sockets
AF_ALGmitjançant polítiques seccomp. És la barrera més eficaç per frenar l’escapament del contenidor.
La majoria de càrregues de treball no necessiten AF_ALG per a res, així que desactivar-lo rarament trenca res. Tot i així, comprova les teves dependències abans d’aplicar-ho en producció.
Font
- CERT-EU / Red Hat — High Vulnerability in the Linux Kernel (Copy Fail): https://cert.europa.eu/publications/security-advisories/2026-005/
- NVD — CVE-2026-31431: https://nvd.nist.gov/vuln/detail/CVE-2026-31431