Chyba zabezpečení pro vzdálené spuštění kódu StrongSwan IPsec

Nyní je k dispozici strongSwan 5.9.10, bezplatný balíček pro vytváření připojení VPN založených na protokolu IPSec používaném v systémech Linux, Android, FreeBSD a macOS. Nová verze odstraňuje nebezpečnou zranitelnost (CVE-2023-26463), kterou lze použít k obejití ověřování, ale potenciálně by také mohla vést ke spuštění kódu útočníka na straně serveru nebo klienta. Problém nastává při ověřování speciálně navržených certifikátů v metodách ověřování EAP (Extensible Authentication Protocol) založených na TLS.

Chyba zabezpečení je způsobena tím, že obslužná rutina TLS nesprávně přijímá veřejné klíče z certifikátu partnera a považuje je za důvěryhodné, i když certifikát nelze úspěšně ověřit. Konkrétně při volání funkce tls_find_public_key() se k určení, které certifikáty jsou důvěryhodné, používá výběr založený na typu veřejného klíče. Problém je v tom, že proměnná použitá k určení typu klíče pro vyhledávací operaci je nastavena i tak, i když certifikát není důvěryhodný.

Manipulací s klíčem navíc můžete snížit počítadlo referencí (pokud certifikát není důvěryhodný, po určení typu klíče je odkaz na objekt uvolněn) a uvolnit paměť pro stále používaný objekt s klíčem. Tato chyba nevylučuje vytváření exploitů pro únik informací z paměti a spouštění vlastního kódu.

Útok na server se provádí prostřednictvím klienta, který odešle certifikát podepsaný svým držitelem k ověření klienta pomocí metod EAP-TLS, EAP-TTLS, EAP-PEAP a EAP-TNC. Útok na klienta lze provést prostřednictvím serveru, který vrátí speciálně navržený certifikát. Chyba zabezpečení se objevuje ve verzích strongSwan 5.9.8 a 5.9.9. Publikování aktualizací balíčků v distribucích lze sledovat na stránkách: Debian, Ubuntu, Gentoo, RHEL, SUSE, Arch, FreeBSD, NetBSD.

Zdroj: opennet.ru

Přidat komentář