Os mantenedores do Projeto FreeBSD acabam de corrigir uma falha de alta gravidade no OpenSSH. A exploração dessa falha, poderia permitir a execução remota de código com privilégios elevados.
Correção de falha no OpenSSH
A equipe por trás do Projeto FreeBSD lançaram atualizações de segurança urgentes para resolver uma falha de alta gravidade, rastreada como CVE-2024-7589, (pontuação CVSS de 7,4) no OpenSSH.
A falha corrigida, como já dissemos, é de alta gravidade e, se um invasor remoto conseguisse explorar essa falha, conseguiria executar código arbitrário com privilégios elevados. O OpenSSH é uma implementação do conjunto de protocolos SSH que oferece transporte criptografado e autenticado para vários serviços, incluindo acesso remoto ao shell.
Um manipulador de sinal no sshd(8) pode chamar uma função de registro que não é segura para sinal assíncrono. O manipulador de sinal é invocado quando um cliente não autentica dentro dos segundos LoginGraceTime (120 por padrão). Este manipulador de sinal é executado no contexto do código privilegiado do sshd(8), que não é sandbox e é executado com privilégios de root completos.
Este problema é outra instância do problema em CVE-2024-6387 abordado por FreeBSD-SA-24:04.openssh. O código defeituoso neste caso é da integração do blacklistd no OpenSSH no FreeBSD.
Uma condição de corrida no sshdcontexto privilegiado, causada pela chamada de funções que não são seguras para sinais assíncronos, pode permitir que um invasor explore a falha para execução remota de código não autenticado como root. O CVE-2024-7589 deriva do CVE-2024-6387 (também conhecido como regreSSHion), que foi divulgado em julho e pode levar à execução remota de código não autenticado com privilégios de root em sistemas Linux baseados em glibc.
O CVE-2024-7589
No caso do CVE-2024-7589, o código defeituoso é adicionado para integrar o blacklistd no OpenSSH no FreeBSD. Os mantenedores explicaram que para mitigar a condição de corrida do manipulador de sinal em sshd, é possível definir LoginGraceTimecomo 0 em /etc/ssh/sshd_confige reiniciar sshd. Isso impedirá a execução remota de código, mas pode levar a uma negação de serviço devido ao esgotamento de todas MaxStartupsas conexões.
Recomenda-se que usuários do FreeBSD atualizem seus sistemas para uma versão estável suportada do FreeBSD e reiniciem o sshd. Inclusive, recomendamos que você mantenha todos os softwares sempre com a última versão lançada, para que você se livre de vulnerabilidades como essa do FreeBSD.
Felizmente, essa falha no OpenSSH foi corrigida pela equipe do FreeBSD e os usuários podem ficar tranquilos quanto à ela.
Via: Security Affairs