CVE-2026-47271 in pam_usb
Sumário
de VulDB • 02/06/2026
O pam_usb fornece autenticação por hardware para Linux utilizando mídia removível comum. Antes da versão 0.9.0, o arquivo src/mem.c implementava proteções contra falta de memória (out-of-memory guards) para xmalloc(), xrealloc() e xstrdup() usando assert(data != NULL). O padrão C especifica que todas as expressões assert() são compiladas para fora quando NDEBUG é definido em tempo de compilação. NDEBUG é comumente definido em builds de lançamento e empacotamento (as flags de pacotes do Debian, Fedora e Arch definem isso via -DNDEBUG em CFLAGS). Com a proteção removida, xmalloc/xrealloc/xstrdup retornam silenciosamente NULL em caso de falha de alocação. Todos os chamadores na base de código fazem dereferência do valor de retorno sem uma verificação NULL -- este é o design pretendido, pois a proteção deveria abortar antes do dereferenciamento. Com a proteção removida, qualquer falha de alocação causa um dereferenciamento de ponteiro NULL, travando o módulo PAM. Um travamento em um módulo PAM carregado pelo sudo ou login causa falha na autenticação durante a duração do travamento, criando uma condição de negação de serviço local. Um atacante que possa induzir pressão de memória no momento da autenticação pode bloquear todos os usuários do sudo e login. Esta vulnerabilidade foi corrigida na versão 0.9.0.
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.