Vulnerabilidad en pam_usb de mcdope (CVE-2026-47270)
Gravedad CVSS v3.1:
MEDIA
Tipo:
CWE-362
Ejecución concurrente utilizando recursos compartidos con una incorrecta sincronización (Condición de carrera)
Fecha de publicación:
27/05/2026
Última modificación:
26/10/2026
Descripción
pam_usb proporciona autenticación de hardware para Linux utilizando medios extraíbles ordinarios. Antes de la versión 0.9.0, pam_usb es un módulo PAM cargado en el proceso anfitrión (sudo, login, GDM, GNOME Shell). Los gestores de pantalla como GDM ejecutan múltiples hilos de autenticación concurrentes. Tres funciones utilizadas por la característica deny_remote llamaron a la función strtok() no reentrante, la cual almacena el estado en un único puntero global. Si dos autenticaciones compiten, la llamada a strtok() de un hilo puede sobrescribir el puntero de tokenización en curso del otro, causando un análisis incorrecto de los datos de la sesión de tmux o del escaneo de /proc environ que respalda la lógica de detección de sesiones remotas. Además, pusb_tmux_get_client_tty() pasó el puntero sin procesar devuelto por getenv(TMUX) directamente a strtok(). getenv() devuelve un puntero al bloque de entorno del proceso activo; strtok() inserta bytes NUL en ese bloque, corrompiendo permanentemente la variable TMUX para el código subsiguiente que se ejecute en el mismo proceso. En gestores de pantalla de larga duración, esto afecta a todas las autenticaciones futuras en ese proceso. El efecto combinado puede hacer que deny_remote=true devuelva una decisión incorrecta para una sesión remota, o una decisión incorrecta para una sesión local, dependiendo del entrelazado de hilos. Esta vulnerabilidad está corregida en la versión 0.9.0.
Impacto
Puntuación base 3.x
6.30
Gravedad 3.x
MEDIA


