Um nova falha no LibKSBA permite a execução de código no GnuPG. Confira os detalhes dessa vulnerabilidade.
Recentemente foi divulgada a notícia de que uma vulnerabilidade crítica (já catalogada em CVE-2022-3515 e com correção) foi identificada na biblioteca LibKSBA, desenvolvida pelo projeto GnuPG e que fornece funções para trabalhar com certificados.
Falha no LibKSBA permite a execução de código no GnuPG
Se exploradas, essas falhas podem permitir que invasores obtenham acesso não autorizado a informações confidenciais ou geralmente causem problemas
O bug encontrado faz com que o estouro de inteiros e dados arbitrários sejam gravados fora do buffer alocado ao analisar estruturas ASN .1 usadas em S/MIME, X.509 e CMS.
O que torna a vulnerabilidade crítica é que o problema é agravado pelo fato de que a biblioteca Libksba é usada no pacote GnuPG, e a vulnerabilidade pode levar à execução remota do código do invasor quando o GnuPG (gpgsm) processa dados criptografados ou assinados de arquivos ou e-mail mensagens usando S/MIME.
No caso mais simples, para atacar uma vítima usando um cliente de e-mail que suporte GnuPG e S/MIME, basta enviar um e-mail especialmente formatado.
“Um bug sério foi encontrado na Libksba, a biblioteca usada pelo GnuPG para analisar estruturas ASN.1 usadas pelo S/MIME.”
A vulnerabilidade também pode ser usada para atacar servidores dirmngr que baixam e analisam listas de revogação de certificados (CRLs) e verificam certificados usados em TLS.
Um servidor da Web controlado pelo invasor pode realizar um ataque ao dirmngr, retornando CRLs ou certificados especialmente criados.
Deve-se notar que as explorações publicamente disponíveis para gpgsm e dirmngr ainda não foram identificadas, mas a vulnerabilidade é típica e nada impede que invasores qualificados preparem uma exploração por conta própria.
“O principal usuário do Libksba é o gpgsm, o primo S/MIME do gpg. Lá ele é usado para analisar todos os tipos de dados de entrada, em particular, dados assinados ou criptografados em arquivos ou e-mails.
Portanto, alimentar um usuário com dados maliciosos pode ser facilmente alcançado.
Um segundo usuário do Libksba é dirmngr , que é responsável por carregar e analisar listas de revogação de certificados (CRLs) e verificar certificados usados por TLS (ou seja, conexões https).
Montar um ataque é um pouco mais complexo, mas ainda pode ser feito facilmente usando um servidor web não autorizado para servir um diretório de chaves web, certificados ou CRLs.”
Das partes afetadas pela vulnerabilidade, as seguintes são relatadas:
- A maioria dos softwares usando versões do Libksba até 1.6.1
- Todas as versões do Gpg4win da versão 2.0.0 a 4.0.3
- Todas as versões do GnuPG VS-Desktop® de 3.1.16 a 3.1.24
- Todos os instaladores do GnuPG para Windows da versão 2.3.0 a 2.3.7
- Todos os instaladores GnuPG LTS para Windows da versão 2.1.0 a 2.2.39
Como mencionado no início, a vulnerabilidade já foi corrigida na versão Libksba 1.6.2 e nas compilações binárias GnuPG 2.3.8, pois desde que o bug foi reportado, é dado um período de carência para que as correções necessárias possam ser feitas. antes da divulgação.
Nas distribuições Linux, a biblioteca Libksba geralmente é fornecida como uma dependência separada, mas nas compilações do Windows ela é integrada ao pacote de instalação principal do GnuPG.
Vale ressaltar que para os usuários que já realizaram as atualizações relevantes, é recomendado que não esqueçam de reiniciar os processos em segundo plano com o comando “gpgconf --kill all
“. Além disso, para verificar um problema na saída do comando “gpgconf --show-versions
“, você pode avaliar o valor da linha “KSBA…”, que deve indicar uma versão de pelo menos 1.6.2.
As atualizações para as distribuições ainda não foram lançadas, mas você pode acompanhar sua aparição nas páginas: Debian, Ubuntu, Gentoo, RHEL, SUSE, Arch e FreeBSD. A vulnerabilidade também está presente nos pacotes MSI e AppImage com GnuPG VS-Desktop e no Gpg4win.