Vulnerabilidade de execução remota de código StrongSwan IPsec

Já está disponível o strongSwan 5.9.10, um pacote gratuito para criação de conexões VPN baseadas no protocolo IPSec usado em Linux, Android, FreeBSD e macOS. A nova versão elimina uma vulnerabilidade perigosa (CVE-2023-26463) que pode ser usada para ignorar a autenticação, mas também pode levar à execução de código invasor no servidor ou no lado do cliente. O problema ocorre ao validar certificados especialmente projetados em métodos de autenticação EAP (Extensible Authentication Protocol) baseados em TLS.

A vulnerabilidade é causada pelo fato de o manipulador TLS aceitar incorretamente as chaves públicas do certificado de um par, considerando-as confiáveis ​​mesmo que o certificado não possa ser verificado com êxito. Especificamente, ao chamar a função tls_find_public_key(), uma seleção baseada no tipo de chave pública é usada para determinar quais certificados são confiáveis. O problema é que a variável usada para determinar o tipo de chave para a operação de pesquisa é definida de qualquer maneira, mesmo que o certificado não seja confiável.

Além disso, ao manipular a chave, você pode reduzir o contador de referências (se o certificado não for confiável, a referência ao objeto é liberada após determinar o tipo da chave) e liberar memória para o objeto ainda em uso com a chave. Essa falha não exclui a criação de exploits para vazar informações da memória e executar código customizado.

O ataque ao servidor é realizado através do cliente enviando um certificado autoassinado para autenticar o cliente utilizando os métodos EAP-TLS, EAP-TTLS, EAP-PEAP e EAP-TNC. Um ataque ao cliente pode ser realizado através do retorno do servidor de um certificado especialmente projetado. A vulnerabilidade aparece nas versões 5.9.8 e 5.9.9 do StrongSwan. A publicação de atualizações de pacotes em distribuições pode ser acompanhada nas páginas: Debian, Ubuntu, Gentoo, RHEL, SUSE, Arch, FreeBSD, NetBSD.

Fonte: opennet.ru

Adicionar um comentário