Ubuntu, Arch y Fedora afectadas por una vulnerabilidad en el kernel

La vulnerabilidad con código CVE-2013-1763 afecta a un amplio rango de distribuciones, entre ellas Fedora, Ubuntu y Arch Linux. Esta vulnerabilidad, cuenta además con el código para explotarla, que permite obtener privilegios de root. En esta entrada analizaremos cómo se obtienen dichos privilegios.

Esta vulnerabilidad afecta a las versiones del kernel 3.0-37.10 y se encuentra en ‘net/core/sock_diag.c’ donde la función ‘__sock_diag_rcv_msg’ no hace hace una comprobación de `bounds check` del array ‘sock_diag_handles’ provocando una ‘out-of-bounds exception’ y permitiendo a usuarios sin privilegios de root obtenerlo.

En los sistemas Linux de 32 bits, cada proceso virtualizará 4GB de espacio de memoria, siendo 3GB de estos el espacio de usuario y 1GB el espacio del kernel. En este caso el rango de user-space es 00000000 a 0xBFFFFFFF y el espacio de kernel 0xC0000000 a 0xFFFFFFFF. El espacio del kernel es compartido por todos los procesos sin embargo, sólo pueden acceder los procesos que se estén ejecutando en kernel-mode. Los procesos a nivel de usuario pueden acceder a kernel-mode a través de `syscalls`. Si un proceso se ejecuta en kernel-mode, las direcciones generadas pertenecen al espacio del kernel.

Las funciones ‘commit_creds’ y ‘prepare_kernel_cred’ son funciones del kernel y para poder ejecutarlas tendríamos que pasar a kernel-mode; por tanto si la función ‘__sock_diag_rcv_msg’ se ejecuta en kernel-mode, podemos aprovecharla para ganar privilegios de root.

Se aplica un mmap al rango de memoria 0x10000-0x120000, incluyendo una serie de NOPs hasta poder colocar correctamente la payload que salta al código que pertenece a kernel-mode. En Ubuntu, no se puede obtener el valor de la variable ‘rehash_time’ de dicho rango de memoria, por lo que sólo es válido el siguiente método para obtenerla:

`sudo cat /boot/System.map-3.5.0-17-generic`

Tras conseguir toda esta información, el usuario puede obtener privilegios de root. Como contra, para poder ejecutar este exploit más de una vez, es necesario reiniciar el sistema operativo.

Ver información original al respecto en Fuente:

__________

NOTA: Los interesados en información sobre contrato de soporte Asistencia Tecnica de SATINFO y/o licencia de uso/actualizaciones de sus utilidades, contacten con info@satinfo.es
__________

Este blog no se hace responsable de las opiniones y comentarios de los textos en los que se cita la Fuente, ofreciendo su contenido solo para facilitar el acceso a la información del mismo.

Puedes seguir cualquier respuesta a esta entrada mediante el canal RSS 2.0. Los comentarios y los pings están cerrados.

Los comentarios están cerrados.

 

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.

ACEPTAR
Aviso de cookies