DirtyCred: vulnerabilidad presente en Linux durante ocho años
Investigadores académicos de la Universidad Northwestern han compartido detalles sobre DirtyCred, una vulnerabilidad de escalamiento de privilegios previamente desconocida que afecta al kernel de Linux.
Identificada como CVE-2022-2588, la falla de seguridad se puede explotar para aumentar los privilegios y también puede conducir a un escape del contenedor. Los académicos dicen que la vulnerabilidad ha estado presente en Linux durante ocho años.
Descrito como use-after-free en la implementación del filtro cls_route del kernel de Linux, el error existe porque un filtro antiguo no se elimina de la tabla hash antes de liberarlo. El problema puede ser explotado por un usuario local con la capacidad CAP_NET_ADMIN y podría provocar un bloqueo del sistema o la ejecución de código arbitrario.
Los estudiantes de doctorado Zhenpeng Lin y Yuhang Wu, y el profesor asociado Xinyu Xing explicaron a principios de este mes durante la conferencia Black Hat [PDF] que el problema es similar a la vulnerabilidad Dirty Pipe (CVE-2022-0847) que afecta las versiones 5.8 y posteriores del kernel de Linux.
Lo que hizo que Dirty Pipe tuviera buena reputación fue su fácil explotación a pesar de las protecciones como la aleatorización de la dirección del kernel y la verificación de la integridad del puntero, junto con el hecho de que podía explotarse sin modificaciones en todas las versiones del kernel afectadas.
DirtyCred y Dirty Pipe también son similares a Dirty Cow (CVE-2016-5195), una vulnerabilidad del kernel de Linux que permite a los atacantes locales aumentar los privilegios modificando los archivos 'setuid' existentes.
Los académicos afirman que el método de explotación de DirtyCred supera las limitaciones de Dirty Pipe, que utiliza el mecanismo de pipeling del kernel de Linux para inyectar datos en archivos arbitrarios. El nuevo ataque se basa en la capacidad similar a Dirty Pipe de sobrescribir cualquier archivo con permiso de lectura, para escalar los privilegios en el sistema.
"DirtyCred es un concepto de explotación del kernel que intercambia las credenciales del kernel sin privilegios con las privilegiadas para aumentar los privilegios. En lugar de sobrescribir los campos de datos críticos, DirtyCred abusa del mecanismo de reutilización de la memoria para obtener privilegios. Aunque el concepto es simple, es efectivo", dicen los investigadores.
Básicamente, el atacante necesita liberar una credencial sin privilegios en uso en la memoria, asignar credenciales privilegiadas a un slot libre y luego operar como usuario privilegiado, lo que requerirá estabilizar las explotaciones de archivos, dicen los investigadores.
El exploit DirtyCred funciona sin modificaciones en diferentes kernels y arquitecturas y no hay mitigaciones disponibles a partir de ahora, según los académicos, que demostraron su exploit tanto en Linux como en Android.
Se recomienda actualizar aa
Una posible defensa contra DirtyCred, señalan los investigadores, consiste en aislar las credenciales privilegiadas de las no privilegiadas en la memoria virtual.
Fuente: Security Week
0 Comments:
Publicar un comentario
Gracias por dejar un comentario en Segu-Info.
Gracias por comentar!