Uma vulnerabilidade grave foi identificada no módulo PAM do OATH-Toolkit, expondo sistemas a possíveis explorações com privilégios de superusuário (root) durante a autenticação de senhas de uso único (OTP). Este problema, rastreado como CVE-2024-47191, foi descoberto por Matthias Gerstner, da equipe de segurança da SUSE, após um relatório interno do engenheiro da SUSE, Fabian Vogt. A falha afeta sistemas que utilizam o OATH-Toolkit para autenticação de dois fatores baseada em OTP, tornando-se uma ameaça significativa para os sistemas que dependem deste módulo.
O OATH-Toolkit é amplamente utilizado para gerenciar OTPs, frequentemente como um segundo fator em processos de autenticação por senha. O problema surgiu a partir de uma funcionalidade introduzida na versão 2.6.7, que permitiu que o arquivo de estado do OTP (conhecido como “usersfile”) fosse armazenado no diretório home do usuário. A vulnerabilidade foi identificada na forma como o módulo PAM realiza operações de arquivo nesses diretórios.
Conforme explicado por Gerstner, “Fabian notou que o módulo PAM realiza operações inseguras de arquivo nos diretórios home dos usuários. Como as pilhas PAM geralmente são executadas com privilégios de root, isso pode facilmente causar problemas de segurança.” A lógica de expansão de caminhos como ${HOME} ou ${USER} não foi devidamente protegida, resultando em uma falha crítica de segurança.
A raiz do problema no CVE-2024-47191 está na interação do módulo PAM com o usersfile durante a autenticação OTP. Quando um usuário se autentica, o módulo PAM invoca a função oath_authenticate_usersfile() na biblioteca liboath, que é responsável por gerenciar o acesso a este arquivo. No entanto, como destaca Gerstner, “Os privilégios não são reduzidos e a função não está ciente do contexto especial privilegiado do PAM.”
Essa falha permite que um usuário sem privilégios explore as operações de arquivo realizadas pela pilha PAM, que opera com privilégios de root. Por exemplo, ao criar um link simbólico (symlink) em seu diretório home, um usuário pode enganar o sistema para sobrescrever arquivos críticos, como o /etc/shadow, ganhando, assim, acesso completo de superusuário.
Gerstner detalha como essa exploração pode ser facilmente desencadeada:
“Isto fará com que o arquivo /etc/shadow seja sobrescrito e sua propriedade seja alterada para o usuário autenticado. O usuário autenticado pode obter privilégios completos de root. Não é necessário vencer uma condição de corrida ou adivinhar caminhos.”
O cenário de exploração é direto e não requer condições complexas ou temporização, tornando-o uma ameaça urgente à segurança.
A equipe de segurança da SUSE agiu rapidamente para resolver a vulnerabilidade. Em colaboração com o autor original do código, desenvolveram um patch para corrigir o problema. Contudo, essa tarefa se mostrou mais complexa do que parecia inicialmente, conforme Gerstner explicou no relatório:
“O módulo PAM não pode determinar com certeza se o usersfile de destino deveria ser de propriedade do root, do usuário autenticado ou até mesmo de um usuário não relacionado.”
Um dos principais problemas identificados foi um mecanismo de bloqueio quebrado. Na sua forma original, o arquivo de bloqueio do módulo poderia ser desvinculado prematuramente, resultando em condições de corrida potenciais. Além disso, armazenar o arquivo de bloqueio no diretório home do usuário poderia desorganizar o diretório ou causar uma negação de serviço local.
Para mitigar esses problemas, a SUSE implementou várias medidas importantes:
Este patch abrangente está atualmente em uso nos produtos da SUSE, e uma solução mais portátil foi lançada na versão 2.6.12 do OATH-Toolkit.
Os desenvolvedores upstream do OATH-Toolkit também lançaram uma correção, incluída na versão 2.6.12. Embora sua abordagem vise maior compatibilidade entre plataformas, não aborda todos os casos de uso considerados pela equipe de segurança da SUSE. No entanto, ambas as soluções resolvem a vulnerabilidade principal, protegendo os sistemas contra o devastador ataque de escalonamento de privilégios descrito no relatório original.
Falha permite que invasores manipulem o agente de um usuário por meio de um problema…
Um exploit de dia zero, dirigido aos firewalls FortiGate da Fortinet, foi descoberto à venda…
A família SHELBY mostra um exemplo preocupante de malware moderno com design modular, sofisticado e…
Hackers estão explorando o diretório mu-plugins do WordPress para injetar códigos maliciosos que não aparecem…
O Google implementou uma nova funcionalidade de "Detecção de Golpes" com inteligência artificial no aplicativo…
O grupo APT28, ligado à Rússia, está utilizando técnicas avançadas de ofuscação em seus ataques…