4 de febrero de 2014

Exploits de elevación de privilegios en el kernel Linux (CVE-2014-0038)

Se han publicado dos exploits y una prueba de concepto para explotar una vulnerabilidad en el kernel Linux que podría permitir a un atacante local elevar privilegios a root.

Recursos afectados
 La vulnerabilidad afecta a los kernel Linux posteriores a la versión 3.4. El error fue introducido en la función 'compat_sys_recvmmsg' en el archivo '/net/compat.c' al agregar código para manejar estructuras de tiempo de 64 bits.
Detalle e Impacto de la vulnerabilidad
  •  Básicamente, el fallo consiste en una ausencia de verificación en cierta estructura pasada desde el área de usuario como argumento a la función '__sys_recvmmsg'. Esta función terminará por usar la estructura pasada a espacio del kernel sin ningún tipo de comprobación.
  • Aunque en principio la vulnerabilidad afecta a los kernel Linux desde la versión 3.4, debiendo  estar definida la opción 'CONFIG_X86_X32' para ello. Esto podemos comprobarlo en el archivo de configuración de arranque (en algunas distribuciones): /boot/config-* (donde * es la versión del kernel que podemos ver también haciendo uname -r)
  •  Como curiosidad lo que esta opción permite es tener la capacidad de ejecutar binarios que usen punteros de 32 bits ejecutándose en arquitecturas de 64bits. (http://en.wikipedia.org/wiki/X32_ABI)
Más información:
Fuente: Hispasec