Translated message

A translation of this page exists in English.

Warning message

This translation is outdated. For the most up-to-date information, please refer to the English version.

Vulnerabilidades libuser (CVE-2015-3245 and CVE-2015-3246)

Red Hat Product Security ha tenido conocimiento de dos vulnerabilidades de seguridad: en la herramienta userhelper(parte del paquete usermode) y en la biblioteca libuser. Los usuarios locales autenticados con acceso a shell podían combinar estas vulnerabilidades para obtener escalamiento de privilegio local a usuario root. Estos fallos han sido asignados como CVE-2015-3245 y CVE-2015-3246. Estas vulnerabilidades han sido valoradas como de impacto Importante. Red Hat agradece a Qualys por reportar estos problemas.

Información de fondo

La bibliotecalibuser implementa una interfaz estandarizada para manipular y administrar cuentas de usuarios y de grupos. El programa userhelper, el cual se incluye en el paquete usermode, proporciona una interfaz no interactiva para cambiar la contraseña de usuario, el campo GECOS y el shell.

Impacto

Consulte las siguientes secciones para obtener descripciones de las dos vulnerabilidades relacionadas.

La condición Race en la actualización de archivos de contraseña (CVE-2015-3246, Importante)

Se encontró un error en la forma en que la bibliotecalibuser manejaba el archivo /etc/passwd. Aunque los programas tradicionales como passwd, chfn y chsh funcionan en una copia temporal de /etc/passwd y al final usan la función rename() para renombrar la copia temporal, libuser modificaba directamente /etc/passwd. Infortunadamente, si todo salía mal durante estas modificaciones, libuser podía dejar a /etc/passwd en un estado inconsistente.

Esta conducta podría resultar en un ataque local de negación del servicio; además, cuando se combinaba con la segunda vulnerabilidad (CVE-2015-3245, descrita abajo), podía resultar en un escalamiento de privilegios locales a usuario root.

Consulte la tabla a continuación para obtener enlaces de recomendaciones de seguridad que solucionan este problema.

Falta de validación de contenido de campo GECOS (CVE-2015-3245, Moderado)

Se encontró que la función chfnde la herramienta userhelper no filtraba correctamente los caracteres de nueva línea. La función chfn implementada por la herramientauserhelper verificaba si los campos que se daban en la línea de comandos eran válidos (es decir, que contenían caracteres no prohibidos). Infortunadamente, estos caracteres (:,=) no incluían el caracter \n y permitían que atacantes locales inyectaran caracteres de nueva línea en el archivo '/etc/passwd` y alteraran este archivo en formas inesperadas.

Un atacante local podía aprovechar este error para dañar el archivo /etc/passwd, lo cual podía generar un ataque de negación de servicio en el sistema.

Nota: Este problema inicialmente atribuido al paqueteusermode está corregido en esta actualización para libuser porque libuser tuvo que cambiarse de todos modos para corregir la vulnerabilidad CVE-2015-3246.

Recomendaciones de seguridad

Estos errores afectan todas las versiones de la biblioteca libuser incluidas en Red Hat Enterprise Linux 6 y 7. Consulte la tabla a continuación para obtener los enlaces a las recomendaciones de seguridad respectivas que corrigen este problema:

Producto Recomendación
Red Hat Enterprise Linux 6 RHSA-2015:1482
Red Hat Enterprise Linux 7 RHSA-2015:1483

 
Este problema también afecta Red Hat Enterprise Linux 5, el cual ahora está en la fase de Producción 3 del ciclo de vida de soporte y mantenimiento. Por lo tanto, no se ha considerado abordar este problema en futuras actualizaciones. Para obtener información adicional, consulte Red Hat Enterprise Linux Life Cycle.

Host atómico & Contenedores

Todas las imágenes oficiales de contenedor de Red Hat incluyen una versión de la biblioteca libuser. Los usuarios interesados pueden usar esta funcionalidad Yum de contenedores incorporados para actualizar las versiones corregidas (Consulte 'Resolución' abajo). Esto resuelve la vulnerabilidad. Pronto se publicarán las compilaciones de estos contenedores que reflejan estas actualizaciones.

Atomic Host incluye una versión vulnerable de la biblioteca 'libuser'. Es posible actualizar cualquier contenedor albergado por Atomic a las versiones corregidas de estos paquetes mediante su funcionalidad Yum incorporada. No es posible explotar el host Atomic desde un contenedor. La siguiente actualización acumulativa incluirá correcciones para Atomic Host.

Imágenes de nube y dispositivos

Todas las imágenes oficiales y dispositivos de nube de Red Hat incluyen una versión de la biblioteca libuser. Los usuarios interesados pueden usar esta funcionalidad Yum de contenedores incorporados para actualizar las versiones corregidas (Consulte 'Resolución' abajo). Esto resuelve la vulnerabilidad. Pronto se publicarán las compilaciones de estos contenedores que reflejan estas actualizaciones.

Amazon Web Services

Red Hat Enterprise Linux Amazon Machine Instances incluye una versión de vulnerabilidad de la biblioteca libuser. Es posible actualizar cualquier sistema a versiones corregidas de estos paquetes mediante su funcionalidad yum incorporada (vea 'Resolution' abajo).

Imágenes RHEV-H

Las imágenes de dispositivos Red Hat Enterprise Virtualization Hypervisor incluyen una versión vulnerable de la biblioteca libuser. Estas imágenes solo deberían utilizarse para albergar máquinas virtuales y no deberían tener usuarios locales no confiables.

No es posible atacar los hosts RHEV-H por desde el interior de una máquina virtual al explotar estos problemas. Una actualización futura de la imagen de RHEV-H corregirá esta vulnerabilidad.

Resolución

Para eliminar la posibilidad de una vulnerabilidad, instale los paquetes actualizados de libuserque están disponibles a través de las recomendaciones que aparecen en la tabla de arriba.

Para instalar las actualizaciones, use el gestor de paquetes Yum así:

yum update

Para actualizar únicamente el paquete libusery sus dependencias, use: :

yum update libuser

Mitigación

Debido a la forma como funciona 'libuser', solo los usuarios que ya tienen cuentas listadas en /etc/passwd, pueden aprovechar estas vulnerabilidades y las necesidades de los usuarios para suplir la contraseña de cuentas como parte del ataque. Estos requerimientos significan que no es posible la explotación por cuentas listadas unicamente en LDAP (o alguna otra fuente de NSS) o por cuentas de sistemas sin una contraseña válida.

En los sistemas en que la actualización de libuser no sea posible, los administradores de sistemas pueden agregar reglas pam_warn y pam_denya los dos archivos, /etc/pam.d/chfn y /etc/pam.d/chsh, a fin de evitar que los usuarios que no sean root, usen los servicios vulnerables. Con estas modificaciones, los archivos deberán contener:

#%PAM-1.0
auth       sufficient   pam_rootok.so
auth required pam_warn.so
auth required pam_deny.so
auth       include      system-auth
account    include      system-auth
password   include      system-auth
session    include      system-auth

Posteriormente, cuando los usuarios sin privilegios intenten usar chfn y chsh (y la funcionalidad respectiva en el programa userhelper) fallará y será registrado (en /var/log/secure, predeterminado).

Comments