7 pontos por kuroneko 2023-07-20 | 3 comentários | Compartilhar no WhatsApp
  • 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

 
galadbran 2023-07-20

Isso significa desativar a configuração no PC pessoal? Ou é uma configuração do servidor…

 
kuroneko 2023-07-21

Se você nunca usou encaminhamento do ssh-agent, parece que não é afetado de forma alguma.

 
kuroneko 2023-07-20

Dei uma olhada rápida na explicação detalhada da vulnerabilidade, mas não consegui entender...
Tem algo sobre handlers de SIGBUS e SIGSEGV, aí acontece um SIGTRAP, 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.