A versão strongSwan 5.9.10 está disponível, um pacote gratuito para criar conexões VPN baseadas no protocolo IPSec, utilizado no Linux, Android, FreeBSD e macOS. A nova versão corrige uma vulnerabilidade grave (CVE-2023-26463) que pode ser explorada para contornar a autenticação, mas que também pode levar à execução de código do atacante no lado do servidor ou do cliente. O problema se manifesta ao verificar certificados malformados nos métodos de autenticação EAP (Extensible Authentication Protocol) baseados em TLS.
A vulnerabilidade é causada pelo fato de que o manipulador TLS aceita incorretamente chaves públicas do certificado de um nó vizinho (peer), considerando-as confiáveis, mesmo que o certificado não possa ser verificado com sucesso. Especificamente, ao chamar a função tls_find_public_key(), uma amostragem com base 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 busca é definida de qualquer maneira, mesmo que o certificado não seja confiável.
Além disso, através da manipulação da chave, é possível reduzir o contador de referências (se o certificado não for confiável, a referência ao objeto é liberada após a determinação do tipo de chave) e liberar a memória para um objeto com chave ainda em uso. A falha discutida não exclui a criação de exploits para organizar vazamentos de informações da memória e execução do próprio código.
O ataque em servidor é realizado através do envio pelo cliente de 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 ao retornar um servidor certificado malformado. A vulnerabilidade se manifesta nas versões strongSwan 5.9.8 e 5.9.9. As publicações de atualizações de pacotes nas distribuições podem ser acompanhadas nas páginas: Debian, Ubuntu, Gentoo, RHEL, SUSE, Arch, FreeBSD, NetBSD.
Fonte: opennet.ru
