Vulnerabilidad en pam-u2f que permite eludir la autenticación basada en token de hardware.

Los desarrolladores del proyecto openSUSE han identificado una vulnerabilidad (CVE-2025-23013) en el módulo PAM pam-u2f, utilizado para la autenticación a través de tokens YubiKey, Yubico Security Key, YubiHSM y otros dispositivos FIDO que soportan el protocolo U2F (Universal 2nd Factor). La vulnerabilidad permite a un usuario con acceso local no privilegiado al sistema, en ciertas configuraciones de PAM, autenticarse sin insertar el token hardware. En la práctica, el módulo pam-u2f generalmente se conecta para la autenticación de dos factores o sin contraseña utilizando tokens (por ejemplo, para confirmar los privilegios de ejecutar comandos a través de utilidades como su y sudo).

La vulnerabilidad es causada por la incorrecta devolución del valor PAM_IGNORE por la función pam_sm_authenticate(). Este valor se devuelve en caso de un error durante las llamadas a gethostname(), pam_modutil_drop_priv(), pam_modutil_regain_priv() o resolve_authfile_path(), así como en problemas de asignación de memoria en strdup() o calloc(). El problema radica en que la biblioteca libpam, al recibir del módulo PAM un resultado con el código PAM_IGNORE, devolverá el código final PAM_SUCCESS, que indica una autenticación exitosa, si en la cadena de verificaciones algún otro módulo PAM devolvió un resultado exitoso.

Al usar el módulo pam-u2f junto con pam_unix para la autenticación de dos factores, la vulnerabilidad permite pasar la autenticación con éxito en caso de que la verificación de la contraseña sea correcta, sin la confirmación del segundo factor. Al realizar la autenticación sin contraseña mediante el token hardware, pam-u2f puede ser utilizado en conjunto con el módulo PAM pam_faillock, que limita el número de intentos de autenticación y devuelve PAM_SUCCESS si el límite no se ha agotado.

Como ejemplo de ataque, se menciona el bypass de la verificación del token al ejecutar comandos privilegiados por un usuario local, utilizando las utilidades sudo y su. Durante la ejecución de estos comandos, el atacante puede crear condiciones que lleven al módulo pam-u2f a devolver el valor PAM_IGNORE, por ejemplo, agotar la memoria disponible. El problema se ha solucionado en la versión pam-u2f 1.3.1.

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