martes, 20 de junio de 2017

Importante vulnerabilidad en sistemas Linux y *NIX

Bajo el nombre de "Stack Clash" se ha anunciado una vulnerabilidad que afecta a sistemas Linux, OpenBSD, NetBSD, FreeBSD y Solaris que puede permitir a un atacante local conseguir privilegios de root en los sistemas afectados.

Un grupo de investigadores de Qualys han descubierto el problema y han desarrollado siete exploits y otras tantas pruebas de concepto para demostrarlo, además han trabajado con los fabricantes para desarrollar los parches necesarios.

La base del problema no es nueva, los investigadores de Qualys se remontan a una antigua cuestión: 

"Si el montón crece hacia arriba y la pila
crece hacia abajo, ¿qué sucede cuando
chocan? ¿Es explotable? ¿Cómo?.
"

De esta forma la vulnerabilidad reside en el uso de la pila, y el crecimiento de este espacio de memoria por necesidades del programa. Si crece demasiado y se acerca demasiado a otra región de memoria, el programa puede confundir regiones de memoria y un atacante puede explotar esta confusión para sobrescribir la pila con la otra región de memoria, o al revés.

La vulnerabilidad afecta a todos los sistemas Linux, OpenBSD, NetBSD, FreeBSD o Solaris, en i386 o amd64. Aunque otros sistemas operativos y arquitecturas también pueden ser vulnerables. Los exploits y pruebas de concepto desarrolladas por Qualys permiten la elevación local de privilegios, un atacante con acceso local a un sistema podrá aprovechar esta vulnerabilidad para conseguir acceso de root. Aunque los investigadores de Qualys tampoco descartan la posibilidad de ataques remotos en aplicaciones específicas. Hay que destacar el extenso análisis técnico en el aviso de Qualys.

Según Qualys, la vulnerabilidad en Sudo comentada recientemente también se cataloga dentro de "Stack Clash".

Gracias al aviso responsable de los investigadores y el trabajo con los fabricantes afectados ha permitido que todos los afectados dispongan rápidamente de los parches necesarios para evitar la vulnerabilidad.

Oracle ha publicado un aviso en el que alerta del problema e informa de los parches publicados en:
De forma similar Red Hat también ha publicado una página especial dedicada al problema, por el que se ven afectadas múltiples versiones de sus sistemas:
  • Red Hat Enterprise Linux 5, 6 y 7
  • Red Hat Enterprise MRG 2.5
  • Red Hat Virtualization
  • RHEL Atomic Host 
https://access.redhat.com/security/vulnerabilities/stackguard

Otras distribuciones Linux también han publicado actualizaciones:
SUSE:

Debian:

Ubuntu:

OpenBSD


La lista de exploits y pruebas de concepto desarrolladas:

  • Exploit local para root contra Exim (CVE-2017-1000369, CVE-2017-1000376) en i386 Debian.
  • Exploit local para root contra Sudo (CVE-2017-1000367, CVE-2017-1000366) en i386 Debian, Ubuntu, CentOS.
  • Un exploit independiente Sudoer a root contra CVE-2017-1000367 en distribuciones SELinux.
  • Exploit local para root contra ld.so y la mayoría de binarios SUID-root en i386 Debian, Fedora, CentOS (CVE-2017-1000366, CVE-2017-1000370).
  • Exploit local para root contra ld.so y la mayoría de binarios SUID-root en amd64 Debian, Ubuntu, Fedora, CentOS (CVE-2017-1000366, CVE-2017-1000379).
  • Exploit local para root contra ld.so y muchos SUID-root PIEs en i386 Debian, Ubuntu, Fedora (CVE-2017-1000366, CVE-2017-1000371).
  • Exploit local para root contra /bin/su (CVE-2017-1000366, CVE-2017-1000365) en i386 Debian
  • Prueba de concepto contra Sudo en i386 grsecurity/PaX que consigue control EIP (CVE-2017-1000367, CVE-2017-1000366, CVE-2017-1000377);
  • Prueba de concepto local contra Exim que consigue control RIP (CVE-2017-1000369) en amd64 Debian.
  • Prueba de concepto contra /usr/bin/at en i386 OpenBSD (CVE-2017-1000372, CVE-2017-1000373).
  • Prueba de concepto para CVE-2017-1000374 y CVE-2017-1000375 en NetBSD
  • Prueba de concepto para CVE-2017-1085 en FreeBSD 
  • Dos pruebas de concepto para CVE-2017-1083 y CVE-2017-1084 en FreeBSD 
  • Exploit local para root contra /usr/bin/rsh (CVE-2017-3630, CVE-2017-3629 y CVE-2017-3631) en Solaris 11.

Más información:

The Stack Clash

Oracle Security Alert for CVE-2017-3629

una-al-dia (02/06/2017) Elevación de privilegios por vulnerabilidad en Sudo

Stack Guard Page Circumvention Affecting Multiple Packages




Antonio Ropero
Twitter: @aropero