Solucionada la vulnerabilidad de Ubuntu en la Pwn2Own 2017

por | 30 marzo, 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 pensamientos en “Solucionada la vulnerabilidad de Ubuntu en la Pwn2Own 2017

  1. dgeaperez

    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»…

    Responder
    1. tannhausser Autor

      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

      Responder

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.