Vulnerabilitat VFS del nucli de Linux que permet l'escalada de privilegis

S'ha identificat una vulnerabilitat (CVE-2022-0185) a l'API de context del sistema de fitxers proporcionada pel nucli de Linux, que permet a un usuari local obtenir privilegis de root al sistema. L'investigador que va identificar el problema va publicar una demostració d'un exploit que us permet executar codi com a root a Ubuntu 20.04 amb la configuració predeterminada. Està previst que el codi d'explotació es publiqui a GitHub dins d'una setmana després que les distribucions publiquin una actualització que solucioni la vulnerabilitat.

La vulnerabilitat existeix a la funció legacy_parse_param() de VFS i és causada per un error en comprovar correctament la mida màxima dels paràmetres proporcionats als sistemes de fitxers que no admeten l'API de context del sistema de fitxers. Passar un paràmetre massa gran pot provocar un desbordament de la variable entera que s'utilitza per calcular la mida de les dades que s'han d'escriure; el codi té una comprovació de desbordament del buffer "si (len > PAGE_SIZE - 2 - mida)", que no funciona si el valor de mida és superior a 4094. per a un desbordament d'entiers a través del límit inferior (desbordament d'entiers, quan s'emet 4096 - 2 - 4095 a int sense sign, el resultat és 2147483648).

Aquest error permet, quan s'accedeix a una imatge de sistema de fitxers especialment dissenyada, provocar un desbordament de memòria intermèdia i sobreescriure les dades del nucli seguint l'àrea de memòria assignada. Per explotar la vulnerabilitat, heu de tenir drets CAP_SYS_ADMIN, és a dir. poders d'administrador. El problema és que un usuari sense privilegis pot obtenir aquests permisos en un contenidor aïllat si el sistema té el suport per als espais de noms d'usuari habilitat. Per exemple, els espais de noms d'usuari estan habilitats per defecte a Ubuntu i Fedora, però no a Debian i RHEL (tret que s'utilitzin plataformes d'aïllament de contenidors).

El problema ha aparegut des del nucli de Linux 5.1 i es va solucionar a les actualitzacions d'ahir 5.16.2, 5.15.16, 5.10.93, 5.4.173. Ja s'han publicat actualitzacions de paquets que solucionen la vulnerabilitat per a RHEL, Debian, Fedora i Ubuntu. La correcció encara no està disponible a Arch Linux, Gentoo, SUSE i openSUSE. Com a solució de seguretat per als sistemes que no utilitzen l'aïllament del contenidor, podeu establir el valor sysctl "user.max_user_namespaces" a 0: echo "user.max_user_namespaces=0" > /etc/sysctl.d/userns.conf # sysctl -p /etc/ sysctl.d/userns.conf

Font: opennet.ru

Afegeix comentari