U strongSwan, VPN paketu temeljen na IPSec protokolu, koji se koristi na Linuxu, Androidu, FreeBSD-u i macOS-u, otkrivena je ranjivost (CVE-2023-41913) koja može omogućiti udaljeno izvršavanje koda od strane napadača. Ranjivost je uzrokovana greškom u procesu charon-tkm, koja provodi razmjenu ključeva (IKE) na temelju TKMv2 (Trusted Key Manager), što dovodi do prekoračenja baferaja prilikom obrade specijalno formatiranih vrijednosti DH sheme (Diffie–Hellman). Ranjivost se manifestira samo u sustavima koji koriste charon-tkm i u izdanjima strongSwan-a od verzije 5.3.0 pa nadalje. Problem je ispravljen u ažuriranju strongSwan 5.9.12. Kako bi se ispravila ranjivost u granama od verzije 5.3.x, pripremljeni su i zakrpe.
Greška je uzrokovana nedostatkom provjere veličine javnih vrijednosti Diffie-Hellman prije njihove kopije u bafer fiksne veličine na stogu. Prekoračenje može biti inicirano slanjem specijalno formatirane poruke IKE_SA_INIT koja se obrađuje bez autentifikacije. U starijim verzijama strongSwan provjera veličine vršena je u obradi KE payload (Key Exchange), ali su u verziji 5.3.0 napravljene promjene koje premještaju provjeru javnih vrijednosti na stranu obrade DH protokola (Diffie-Hellman) i dodaju funkcije koje pojednostavljuju provjeru ispravnosti poznatih DH grupa. Zbog previdom, nove funkcije provjere zaboravljene su dodati u proces charon-tkm, koji djeluje kao posrednik između procesa IKE i TKM (Trusted Key Manager), zbog čega su u funkciji memcpy() završile neprovjerene vrijednosti, dopuštajući zapisivanje do 10000 bajta podataka u 512-bajtni bafer.
Izvor: opennet.ru
