Vulnerabilidad en pam_oath que permite obtener derechos de root en el sistema.

En el módulo PAM pam_oath, que forma parte del paquete oath-toolkit y se utiliza para la autenticación de dos factores mediante contraseñas de un solo uso (OTP), se ha identificado una vulnerabilidad (CVE-2024-47191) que permite a un usuario sin privilegios obtener acceso root en el sistema.

El módulo pam_oath se ejecuta con privilegios de root y originalmente estaba diseñado para almacenar las claves OATH en el archivo /etc/users.oath, al que solo tiene acceso el usuario root. En la versión 2.6.7 de oath-toolkit, se agregó soporte para almacenar archivos con claves en los directorios personales de los usuarios (~/.config/users.oath). Los usuarios sin privilegios obtuvieron la capacidad de modificar archivos con sus claves, pero pam_oath, al acceder a estos archivos, no revocó los privilegios y continuó utilizando métodos inseguros para tratar los archivos, suponiendo que los archivos estuvieran en un directorio no accesible para modificaciones.

La vulnerabilidad se debe a que, después de cada autenticación exitosa mediante una contraseña de un solo uso, pam_oath sobrescribía el archivo con las claves para evitar el uso repetido de una misma contraseña. La operación de sobrescritura consistía en crear un archivo de bloqueo en el mismo directorio, registrar el nuevo contenido en un archivo con la extensión «.new» y reemplazar el archivo antiguo por el nuevo. Durante este proceso, el archivo con la extensión «.new» se creaba con los mismos permisos que el archivo de destino, pero la escritura en él era realizada por un proceso con privilegios de root y sin verificar la existencia del archivo.

Si el archivo se encontraba en un directorio del sistema no había problemas, pero después de la incorporación del soporte para el almacenamiento de archivos con claves en los directorios personales, surgió una vulnerabilidad fácilmente explotable. Para atacar, basta con crear un enlace simbólico «~/.config/oath.secrets.new» y redirigirlo a cualquier archivo del sistema que será sobrescrito tras una autenticación exitosa.

Para conseguir acceso root, se puede redirigir el enlace simbólico a el archivo /etc/shadow. En este caso, pam_oath escribirá en /etc/shadow la lista actualizada de claves y sincronizará el propietario y los permisos con el archivo users.oath. Dado que el archivo users.oath pertenece al usuario, el propietario de /etc/shadow será este usuario, permitiendo que el atacante edite el archivo /etc/shadow y registre nuevos parámetros de acceso para la cuenta root.

La vulnerabilidad se manifiesta a partir de la versión 2.6.7 del oath-toolkit y ha sido solucionada (1,2,3) en la versión 2.6.12. Se puede rastrear la corrección de la vulnerabilidad en las distribuciones en las siguientes páginas: Debian, Ubuntu, RHEL, SUSE/openSUSE, Fedora, Arch. La vulnerabilidad afecta solo a las configuraciones en las que se permite almacenar archivos de claves en los directorios personales, por ejemplo, al utilizar en la configuración de PAM la línea «auth [user_unknown=ignore success=ok] pam_oath.so usersfile=${HOME}/user.oath».

Además, se puede mencionar la vulnerabilidad (CVE-2024-9313) recientemente descubierta en el módulo PAM del paquete Authd, desarrollado por el proyecto Ubuntu. Esta vulnerabilidad permite a un usuario, gestionado a través del broker Authd, hacerse pasar por cualquier otro usuario que también esté siendo gestionado por ese mismo broker y autenticarse con éxito a través de su, sudo o ssh como otro usuario. El problema ha sido solucionado en la versión 0.3.5 de Authd.

Fuente: opennet.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster