Sårbarhet i strongSwan IPsec som leder till fjärrkörning av kod

strongSwan, ett IPSec-baserat VPN-paket som används på Linux, Android, FreeBSD och macOS, har en sårbarhet (CVE-2023-41913) som kan utnyttjas för fjärrkörning av kod av en angripare. Sårbarheten beror på en bugg i charon-tkm-processen med dess TKMv2 (Trusted Key Manager)-implementering av Key Exchange (IKE)-protokollet, vilket resulterar i ett buffertspill vid bearbetning av speciellt formaterade DH (Diffie–Hellman)-schemavärden. Sårbarheten visas endast på system som använder charon-tkm och strongSwan-utgåvor från och med 5.3.0. Problemet är åtgärdat i strongSwan 5.9.12-uppdateringen. För att åtgärda sårbarheten i grenar från och med 5.3.x har även patchar förberetts.

Felet orsakas av att inte kontrollera storleken på offentliga Diffie-Hellman-värden innan du kopierar dem till en buffert med fast storlek på stacken. Ett spill kan initieras genom att skicka ett speciellt utformat IKE_SA_INIT-meddelande som bearbetas utan autentisering. I äldre versioner av strongSwan utfördes storlekskontroll i KE-nyttolasthanteraren (Key Exchange), men i version 5.3.0 lades ändringar till som flyttade kontrollen av publika värden till sidan av DH-protokollhanteraren ( Diffie-Hellman) och lagt till generiska funktioner för att förenkla kontroll av giltigheten av kända grupper D.H. På grund av ett förbiseende glömde de att lägga till nya kontrollfunktioner till charon-tkm-processen, som fungerar som en proxy mellan IKE-processen och TKM (Trusted Key Manager), vilket resulterade i att memcpy()-funktionen innehöll okontrollerade värden som gjorde att upp till 512 10000 byte kunde skrivas till en XNUMX-byte buffertdata.

Källa: opennet.ru

Lägg en kommentar