Solucionada la vulnerabilidad de Ubuntu en la Pwn2Own 2017

Desvelada y resuelta en apenas unos días. Ya sabemos los detalles sobre como se produjo el hackeo de Ubuntu en la pasada Pwn2Own, una vulnerabilidad en el kernel (CVE-2017-7184) descubierta por el equipo chino de Chaitin Tech.

Como os había adelantado se trata de un desbordamiento de buffer con escritura fuera de límites que afectaba al núcleo y permitía una escalada de privilegios, es decir pasar de un simple usuario a todo un dios administrador.

Un ataque que se produjo sobre Ubuntu 16.10 y Linux 4.8.0.41.52, aunque otras versiones tanto de la distro como del kernel también eran vulnerables.

Es importante destacar que este problema afectaba a la versión principal del kernel (ya parcheado en upstream) y por tanto a mas distribuciones GNU/Linux.

Lo que se sabe ahora es la parte del núcleo implicada. Se trata del framework xfrm, una implementación del protocolo IPsec (Internet Protocol Security) que se utiliza en la transformación y cifrado de los paquetes de red.

Al parecer xfrm no validaba de forma adecuada los datos recibidos desde el espacio de usuario (cuando xfrm_replay_verify_len() era llamado por xfrm_new_ae()). Como consecuencia un atacante podría usar eso para provocar una denegación de servicios o ejecutar código arbitrario con privilegios de root a través de una capacidad llamada CAP_NET_ADMIN.

Una invasión en toda regla desde el espacio del usuario al del kernel, relacionada otra vez con el soporte de los “user namespaces” y que ya ha sido mitigada en Ubuntu (desde 12.04 LTS a 16.10) con las actualizaciones de las diferentes ramas del kernel.

Si tenéis vuestro equipo al día, ahora deberías estar ejecutando algo de esto:

  • Ubuntu 12.04 LTS: 3.2.0125.140/168
  • Ubuntu 14.04 LTS: Linux 3.13.0.115.125/162
  • Ubuntu 16.04 LTS: Linux 4.4.0.71 ó Linux 4.8.0.45
  • Ubuntu 16.10: Linux 4.8.0.5

Otras distribuciones como Red Hat (versiones 6 y 7) ya están trabajando en actualizaciones del kernel para solucionar esta vulnerabilidad. También lo hace SUSE y openSUSE con los parches correspondientes.

Señalar que esto no afecta a todas las distros por igual. Es el caso de Debian, que deshabilita los espacios de nombres de usuario (user namespaces) sin privilegios, de forma predeterminada.

3 thoughts on “Solucionada la vulnerabilidad de Ubuntu en la Pwn2Own 2017”

  1. dgeaperez says:

    Siempre me intrigó este tipo de eventos… Más que el evento en sí: ¿cómo diablos “descubren” eso?…
    Y luego… ¿dónde se puede conseguir la “receta” para replicarlo?… Sólo por el sano impulso de “cacharrear”…

  2. emesoria says:

    hola jose ….oye en archlinux y derivadas alguna novedad…saludos

    1. tannhausser says:

      En el CVE de Arch Linux no veo reflejada esta vulnerabilidad.

      De todas maneras e independientemente de la distro, se han liberado ya unas versiones del kernel que solucionan el problema: 4.10.8, 4.9.20 (LTS y ya disponible en Arch), y 4.4.59

Deja un comentario