I strongSwan, VPN-paketet baserat pĂ„ IPSec-protokollet som anvĂ€nds i Linux, Android, FreeBSD och macOS, har en sĂ„rbarhet upptĂ€ckts (CVE-2023-41913) som kan anvĂ€ndas för att fjĂ€rrköra kod av en angripare. SĂ„rbarheten orsakas av ett fel i charon-tkm-processen med implementeringen av nyckelutbytesprotokollet (IKE) baserat pĂ„ TKMv2 (Trusted Key Manager), vilket leder till buffertöverflöd vid behandling av speciellt formaterade vĂ€rden för DH-schemat (DiffieâHellman). SĂ„rbarheten upptrĂ€der endast i system som anvĂ€nder charon-tkm och i versioner av strongSwan frĂ„n och med 5.3.0. Problemet har Ă„tgĂ€rdats i uppdateringen av strongSwan 5.9.12. För att Ă„tgĂ€rda sĂ„rbarheten i versioner frĂ„n och med 5.3.x har Ă€ven patchar förberetts.
Felet orsakas av avsaknad av kontroll av storleken pĂ„ offentliga vĂ€rden för Diffie-Hellman innan de kopieras till en buffert med fast storlek pĂ„ stacken. Ăverflödet kan initieras genom att skicka ett speciellt formaterat meddelande IKE_SA_INIT som bearbetas utan autentisering. I Ă€ldre versioner av strongSwan genomfördes storlekskontrollen i hanteraren för KE-payload (Key Exchange), men i version 5.3.0 lades förĂ€ndringar till som flyttade storlekskontrollen av offentliga vĂ€rden till DH-protokollets hanterare och lade till typfunktioner för att förenkla kontrollen av giltigheten för kĂ€nda DH-grupper. Av misstag glömdes de nya kontrollfunktionerna att inkluderas i charon-tkm-processen, som fungerar som en proxy mellan IKE-processen och TKM (Trusted Key Manager), vilket resulterade i att okontrollerade vĂ€rden kom in i memcpy()-funktionen, vilket gör att upp till 10000 byte data kan skrivas till en 512-byte buffert.
KĂ€lla: opennet.ru
