← Tornar als articles
Seguretat· 3 min de lectura

CIFSwitch (CVE-2026-46243): un error de 19 anys al kernel Linux dóna root a qualsevol usuari local

Hardware de servidores en la sala de un centro de datos
Foto: Brett Sayles · Pexels

L’investigador Asim Manizada va divulgar el 28 de maig de 2026 una vulnerabilitat d’escalada de privilegis que portava amagada al kernel Linux des de 2007. Es diu CIFSwitch, té l’identificador CVE-2026-46243 (assignat l’1 de juny) i permet que qualsevol usuari local sense privilegis aconsegueixi una shell de root. Dinou anys amb el forat obert i ningú no l’havia vist.

Què és

L’error es troba a fs/smb/client/cifs_spnego.c, el codi del mòdul CIFS que gestiona l’autenticació Kerberos/SPNEGO del client. Quan el kernel necessita un tiquet Kerberos per muntar un recurs CIFS, genera una clau de tipus cifs.spnego i llança un upcall al helper cifs.upcall, que s’executa amb privilegis. El problema és que part de la descripció d’aquesta clau (pid, uid, creduid i el destí de l’upcall) es pot falsificar des de l’espai d’usuari.

L’atac es munta així: un usuari crida request_key(2) amb una descripció cifs.spnego manipulada, triant al seu gust els valors de pid, uid, creduid i upcall_target. El kernel invoca aleshores cifs.upcall amb aquests valors falsos. Combinant-ho amb un espai de noms d’usuari controlat, el helper acaba executant getpwuid() i carrega una biblioteca NSS maliciosa, ja com a root. A partir d’aquí, execució de codi arbitrari amb privilegis totals.

A qui afecta

Perquè l’exploit funcioni s’han de donar tres condicions alhora a la màquina:

  • cifs-utils instal·lat, versions 6.14 o posteriors.
  • Espais de noms d’usuari sense privilegis habilitats (kernel.unprivileged_userns_clone=1).
  • Mòdul CIFS del kernel carregat.

On es compleixen les tres, una sola ordre n’hi ha prou per passar d’usuari normal a root. La llista de distribucions afectades inclou Red Hat, Ubuntu, Debian, SUSE, Oracle Linux i Amazon Linux, segons la configuració concreta de cada sistema. El mateix investigador va publicar una prova de concepte a GitHub el mateix dia de la divulgació, així que el codi ja circula.

Gravetat

Som davant d’una escalada local de privilegis a root, sense interacció de l’usuari ni autenticació prèvia més enllà de tenir un compte al sistema. En servidors multiusuari, hosts compartits o qualsevol màquina on un atacant ja tingui un punt de suport amb permisos baixos, el salt a root és directe. Que l’error tingui 19 anys vol dir que l’exposició històrica és enorme: qualsevol sistema amb aquesta combinació de paquets ha estat vulnerable durant gairebé dues dècades.

Mitigació

Els kernels amb pegat van arribar als repositoris de producció el 2 de juny de 2026. La prioritat és aplicar les actualitzacions del kernel des del gestor de paquets de la teva distribució i reiniciar. Si necessites evitar el reinici, KernelCare o TuxCare ofereixen pegats en calent.

Mentre no puguis aplicar el pegat, qualsevol d’aquestes mesures talla el vector:

  • Desactivar els espais de noms d’usuari sense privilegis.
  • Descarregar el mòdul CIFS si no l’uses.
  • Eliminar cifs-utils.

Per a la detecció, convé vigilar les crides a request_key() amb descripcions cifs.spnego sospitoses. Si gestiones equips Debian o Ubuntu i t’interessen altres casos recents d’escalada a root al kernel, fes una ullada a CrackArmor: AppArmor i l’escalada a root al kernel Linux.

Font