Ranljivost v strongSwan IPsec, ki vodi do oddaljenega izvajanja kode

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

Dodaj komentar