A strongSwanban egy IPSec-alapú VPN-csomagot használnak, amelyet a következőkben használnak: Linux, Android, a FreeBSD és macOSEgy sebezhetőséget (CVE-2023-41913) azonosítottak, amelyet távoli kódfuttatásra lehet kihasználni. A sebezhetőséget a charon-tkm folyamat hibája okozza a TKMv2-n (Trusted Key Manager) alapuló Internet Key Exchange (IKE) protokoll implementációjában. Ez a hiba puffer túlcsorduláshoz vezet a DH (Diffie-Hellman) séma speciálisan létrehozott értékeinek feldolgozásakor. A sebezhetőség csak a charon-tkm-et használó rendszereket és a strongSwan 5.3.0-s és újabb kiadásait érinti. A problémát a strongSwan 5.9.12 frissítésében javították. Javítások készültek a sebezhetőség 5.3.x-es verziótól kezdődő ágak javítására is.
A hibát az okozza, hogy nem ellenőrizték a nyilvános Diffie-Hellman értékek méretét, mielőtt átmásolták azokat a verem fix méretű pufferébe. Túlcsordulás kezdeményezhető egy speciálisan kialakított IKE_SA_INIT üzenet küldésével, amely hitelesítés nélkül kerül feldolgozásra. A strongSwan régebbi verzióiban a méretellenőrzést a KE rakománykezelőben (Key Exchange) végezték el, de az 5.3.0-s verzióban olyan változtatásokat tettek, amelyek a nyilvános értékek ellenőrzését a DH protokollkezelő oldalára helyezték át ( Diffie-Hellman) és általános függvényeket adott hozzá az ismert D.H. csoportok helyességének ellenőrzésének egyszerűsítésére. Egy mulasztás miatt elfelejtettek új ellenőrző függvényeket hozzáadni az IKE folyamat és a TKM (Trusted Key Manager) közötti proxyként működő charon-tkm folyamathoz, aminek következtében a memcpy() függvény ellenőrizetlen értékeket tartalmazott. amely lehetővé tette akár 512 10000 bájt írását egy XNUMX bájtos pufferadatba.
Forrás: opennet.ru
