- A Qualys descobriu uma vulnerabilidade no OpenSSH que permite execução remota de código por meio de um SSH Agent encaminhado.
- O encaminhamento de SSH Agent é usado principalmente em ambientes como CI/CD para tentar login usando credenciais remotas, sem armazenar diretamente as credenciais.
- A vulnerabilidade ocorre na parte em que o SSH Agent permite suporte a PKCS11.
- Para oferecer suporte a PKCS11, é permitido que um usuário remoto carregue e feche bibliotecas compartilhadas em locais confiáveis.
- Como resultado de testes com todas as bibliotecas compartilhadas instaladas por padrão no Ubuntu Desktop, verificou-se que as bibliotecas padrão normalmente não são projetadas para serem fechadas, então erros ocorrem quando o SSH Agent tenta fechá-las.
- Esses erros disparam alguns sinais do sistema e, combinando isso, foi possível executar código arbitrário remotamente.
- O OpenSSH corrigiu isso simplesmente desativando o suporte remoto a PKCS11 e passando a gerenciar uma lista de permissões de bibliotecas compartilhadas.
- Antes, era possível carregar qualquer biblioteca compartilhada dentro da pasta
lib.
- Se você usa o recurso de encaminhamento de SSH Agent, deve desativar o suporte a PKCS11 quando ele não for necessário.
3 comentários
Isso significa desativar a configuração no PC pessoal? Ou é uma configuração do servidor…
Se você nunca usou encaminhamento do
ssh-agent, parece que não é afetado de forma alguma.Dei uma olhada rápida na explicação detalhada da vulnerabilidade, mas não consegui entender...
Tem algo sobre handlers de
SIGBUSeSIGSEGV, aí acontece umSIGTRAP, guardam alguma coisa num buffer de pilha e induzem um salto para lá...Dizem que tudo isso é controlado carregando/descarregando bibliotecas, mas, sinceramente, não entendi muito bem o que querem dizer.
No fim, fiquei só no “ah, entendi...” mesmo.
Se alguém tiver interesse, existe uma documentação bem detalhada, aparentemente até com exemplos,
então recomendo dar uma lida.