strongSwan, paket VPN, ki temelji na IPSec in se uporablja v sistemih Linux, Android, FreeBSD in macOS, ima ranljivost (CVE-2023-41913), ki jo lahko napadalec izkoristi za oddaljeno izvajanje kode. Ranljivost je posledica napake v procesu charon-tkm z njegovo implementacijo TKMv2 (Trusted Key Manager) protokola za izmenjavo ključev (IKE), kar povzroči prekoračitev medpomnilnika pri obdelavi posebej oblikovanih vrednosti sheme DH (Diffie–Hellman). Ranljivost se pojavi le v sistemih, ki uporabljajo izdaje charon-tkm in strongSwan od 5.3.0 naprej. Težava je odpravljena v posodobitvi strongSwan 5.9.12. Za odpravo ranljivosti v vejah od 5.3.x naprej so bili pripravljeni tudi popravki.
Napaka je posledica nepreverjanja velikosti javnih Diffie-Hellmanovih vrednosti, preden jih kopirate v vmesni pomnilnik s fiksno velikostjo v skladu. Prelivanje se lahko sproži s pošiljanjem posebej izdelanega sporočila IKE_SA_INIT, ki se obdela brez preverjanja pristnosti. V starejših različicah strongSwan je bilo preverjanje velikosti izvedeno v obdelovalniku obremenitve KE (Key Exchange), v različici 5.3.0 pa so bile dodane spremembe, ki so preverjanje javnih vrednosti premaknile na stran obdelovalnika protokola DH ( Diffie-Hellman) in dodane generične funkcije za poenostavitev preverjanja pravilnosti znanih skupin D.H. Zaradi spregleda so procesu charon-tkm, ki deluje kot proxy med procesom IKE in TKM (Trusted Key Manager), pozabili dodati nove funkcije preverjanja, zaradi česar je funkcija memcpy() vsebovala nepreverjene vrednosti ki je omogočil zapisovanje do 512 bajtov v 10000-bajtni medpomnilnik podatkov.
Vir: opennet.ru