Vulnerabilità relativa all'esecuzione di codice remoto StrongSwan IPsec

È ora disponibile strongSwan 5.9.10, un pacchetto gratuito per creare connessioni VPN basate sul protocollo IPSec utilizzato in Linux, Android, FreeBSD e macOS. La nuova versione elimina una pericolosa vulnerabilità (CVE-2023-26463) che può essere utilizzata per aggirare l'autenticazione, ma che potrebbe anche portare all'esecuzione di codice malintenzionato sul lato server o client. Il problema si verifica durante la convalida di certificati appositamente progettati nei metodi di autenticazione EAP (Extensible Authentication Protocol) basati su TLS.

La vulnerabilità è causata dal gestore TLS che accetta erroneamente le chiavi pubbliche dal certificato di un peer, considerandole affidabili anche se il certificato non può essere verificato con successo. Nello specifico, quando si chiama la funzione tls_find_public_key(), viene utilizzata una selezione basata sul tipo di chiave pubblica per determinare quali certificati sono affidabili. Il problema è che la variabile utilizzata per determinare il tipo di chiave per l'operazione di ricerca viene comunque impostata, anche se il certificato non è affidabile.

Inoltre, manipolando la chiave, è possibile ridurre il contatore dei riferimenti (se il certificato non è affidabile, il riferimento all'oggetto viene rilasciato dopo aver determinato il tipo di chiave) e liberare memoria per l'oggetto ancora in uso con la chiave. Questo difetto non esclude la creazione di exploit per far trapelare informazioni dalla memoria ed eseguire codice personalizzato.

L'attacco al server viene effettuato tramite l'invio da parte del client di un certificato autofirmato per autenticare il client utilizzando i metodi EAP-TLS, EAP-TTLS, EAP-PEAP e EAP-TNC. Un attacco al client può essere effettuato attraverso il server che restituisce un certificato appositamente progettato. La vulnerabilità appare nelle versioni strongSwan 5.9.8 e 5.9.9. La pubblicazione degli aggiornamenti dei pacchetti nelle distribuzioni può essere tracciata nelle pagine: Debian, Ubuntu, Gentoo, RHEL, SUSE, Arch, FreeBSD, NetBSD.

Fonte: opennet.ru

Aggiungi un commento