Vulnerabilidade de execución remota de código StrongSwan IPsec

Xa está dispoñible strongSwan 5.9.10, un paquete gratuíto para crear conexións VPN baseadas no protocolo IPSec usado en Linux, Android, FreeBSD e macOS. A nova versión elimina unha perigosa vulnerabilidade (CVE-2023-26463) que se pode usar para evitar a autenticación, pero que potencialmente tamén pode levar á execución de código de atacante no servidor ou no lado do cliente. O problema ocorre ao validar certificados especialmente deseñados en métodos de autenticación EAP (Extensible Authentication Protocol) baseados en TLS.

A vulnerabilidade prodúcese porque o manejador de TLS aceptou incorrectamente as claves públicas do certificado dun compañeiro, considerándoas fiables aínda que o certificado non se poida verificar con éxito. En concreto, ao chamar á función tls_find_public_key(), úsase unha selección baseada no tipo de chave pública para determinar que certificados son fiables. O problema é que a variable utilizada para determinar o tipo de chave para a operación de busca está definida de todos os xeitos, aínda que o certificado non sexa fiable.

Ademais, manipulando a chave, pode reducir o contador de referencia (se o certificado non é fiable, a referencia ao obxecto é liberada despois de determinar o tipo de chave) e liberar memoria para o obxecto aínda en uso coa chave. Este fallo non exclúe a creación de exploits para filtrar información da memoria e executar código personalizado.

O ataque ao servidor realízase a través do cliente enviando un certificado autofirmado para autenticar o cliente mediante os métodos EAP-TLS, EAP-TTLS, EAP-PEAP e EAP-TNC. Un ataque ao cliente pódese levar a cabo a través do servidor devolvendo un certificado especialmente deseñado. A vulnerabilidade aparece nas versións 5.9.8 e 5.9.9 de strongSwan. A publicación de actualizacións de paquetes nas distribucións pódese seguir nas páxinas: Debian, Ubuntu, Gentoo, RHEL, SUSE, Arch, FreeBSD, NetBSD.

Fonte: opennet.ru

Engadir un comentario