CVE-2026-47271 in pam_usb
Résumé
par VulDB • 28/05/2026
pam_usb fournit une authentification matérielle pour Linux en utilisant des supports amovibles ordinaires. Avant la version 0.9.0, src/mem.c implémentait des garde-fous de type « out-of-memory » (manque de mémoire) pour xmalloc(), xrealloc() et xstrdup() en utilisant assert(data != NULL). La norme C spécifie que toutes les expressions assert() sont supprimées lors de la compilation lorsque NDEBUG est défini au moment de la construction. NDEBUG est couramment défini dans les builds de release et d'emballage (les drapeaux des paquets Debian, Fedora et Arch le définissent tous via -DNDEBUG dans CFLAGS). Avec la suppression du garde-fou, xmalloc/xrealloc/xstrdup retournent silencieusement NULL en cas d'échec de l'allocation. Chaque appelant dans la base de code déréférence la valeur de retour sans vérifier NULL ; c'est la conception prévue, car le garde-fou était censé provoquer un abort avant le déréférencement. Avec la suppression du garde-fou, tout échec d'allocation entraîne un déréférencement de pointeur NULL, provoquant le plantage du module PAM. Un plantage dans un module PAM chargé par sudo ou login entraîne l'échec de l'authentification pendant la durée du plantage, créant une condition de déni de service local. Un attaquant capable d'induire une pression mémoire au moment de l'authentification peut verrouiller tous les utilisateurs, les empêchant d'utiliser sudo et login. Cette vulnérabilité est corrigée dans la version 0.9.0.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.