È disponibile il rilascio di strongSwan 5.9.10, un pacchetto open source per la creazione di connessioni VPN basate sul protocollo IPSec, utilizzato su Linux, Android, FreeBSD e macOS. Nella nuova versione è stata corretta una grave vulnerabilità (CVE-2023-26463), che potrebbe essere sfruttata per bypassare l'autenticazione, ma potenzialmente potrebbe anche portare all'esecuzione di codice malevolo sul lato del server o del client. Il problema si manifesta durante la verifica di certificati appositamente formattati nei metodi di autenticazione EAP (Extensible Authentication Protocol) basati su TLS.
La vulnerabilità è causata dal fatto che il gestore TLS accetta in modo errato le chiavi pubbliche dal certificato del nodo peer, considerandole attendibili, anche se il certificato non può essere verificato con successo. In particolare, quando viene chiamata la funzione tls_find_public_key(), per determinare i certificati attendibili si utilizza un campionamento basato sul tipo di chiave pubblica. Il problema è che la variabile utilizzata per determinare il tipo di chiave per l'operazione di ricerca viene impostata in ogni caso, anche se il certificato non è affidabile.
Inoltre, tramite la manipolazione della chiave è possibile ridurre il contatore dei riferimenti (se il certificato non è affidabile, il riferimento all'oggetto viene rilasciato dopo la determinazione del tipo di chiave) e liberare la memoria per un altro oggetto di chiave ancora in uso. La mancanza di questa implementazione non esclude la creazione di exploit per organizzare perdite di informazioni dalla memoria e per eseguire codice malevolo.
L'attacco a server viene realizzato inviando un certificato autofirmato dal client per l'autenticazione del client utilizzando i metodi EAP-TLS, EAP-TTLS, EAP-PEAP ed EAP-TNC. Un attacco al client può essere effettuato restituendo server un certificato appositamente formattato. La vulnerabilità si manifesta nelle versioni di strongSwan 5.9.8 e 5.9.9. È possibile seguire la pubblicazione degli aggiornamenti dei pacchetti nelle distribuzioni su pagine come: Debian, Ubuntu, Gentoo, RHEL, SUSE, Arch, FreeBSD, NetBSD.
Fonte: opennet.ru
