È disponibile la versione strongSwan 5.9.10, un pacchetto libero per la creazione di connessioni VPN basate sul protocollo IPSec utilizzato in Linux, Android, FreeBSD e macOS. Nella nuova versione è stata corretta una vulnerabilità critica (CVE-2023-26463), che potrebbe essere sfruttata per bypassare l'autenticazione, ma potrebbe anche portare all'esecuzione di codice da parte dell'attaccante sul lato server o 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 affidabili, anche se il certificato non può essere verificato con successo. In particolare, durante la chiamata della funzione tls_find_public_key(), per determinare i certificati affidabili, viene utilizzato 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, manipolando la 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 sotto un altro oggetto chiave ancora utilizzato. Questa imperfezione non esclude la creazione di exploit per organizzare la perdita di informazioni dalla memoria e l'esecuzione di codice malevolo.
L'attacco a un server viene eseguito inviando un certificato auto firmato dal cliente per l'autenticazione del cliente utilizzando i metodi EAP-TLS, EAP-TTLS, EAP-PEAP e EAP-TNC. L'attacco al cliente può essere realizzato restituendo server un certificato appositamente formattato. La vulnerabilità si manifesta nelle versioni strongSwan 5.9.8 e 5.9.9. È possibile seguire la pubblicazione degli aggiornamenti dei pacchetti nelle distribuzioni sulle seguenti pagine: Debian, Ubuntu, Gentoo, RHEL, SUSE, Arch, FreeBSD, NetBSD.
Fonte: opennet.ru
