strongSwan IPsecin haavoittuvuus, joka johtaa koodin etäsuorittamiseen

strongSwan, IPSec-pohjainen VPN-paketti, jota käytetään Linuxissa, Androidissa, FreeBSD:ssä ja macOS:ssä, sisältää haavoittuvuuden (CVE-2023-41913), jota hyökkääjä voi hyödyntää koodin etäsuorittamiseen. Haavoittuvuus johtuu virheestä charon-tkm-prosessissa sen TKMv2 (Trusted Key Manager) -toteutuksessa Key Exchange (IKE) -protokollassa, mikä johtaa puskurin ylivuotoon, kun käsitellään erityisesti muotoiltuja DH (Diffie–Hellman) -malliarvoja. Haavoittuvuus näkyy vain järjestelmissä, jotka käyttävät charon-tkm- ja strongSwan-julkaisuja versiosta 5.3.0 alkaen. Ongelma on korjattu strongSwan 5.9.12 -päivityksessä. Haavoittuvuuden korjaamiseksi 5.3.x:stä alkaen olevissa sivuhaaroissa on myös tehty korjauksia.

Virhe johtuu siitä, että julkisten Diffie-Hellman-arvojen kokoa ei ole tarkistettu ennen kuin ne kopioidaan pinon kiinteän kokoiseen puskuriin. Ylivuoto voidaan aloittaa lähettämällä erityisesti muotoiltu IKE_SA_INIT-sanoma, joka käsitellään ilman todennusta. Vanhemmissa strongSwanin versioissa kokotarkistus tehtiin KE:n hyötykuormankäsittelijässä (Key Exchange), mutta versioon 5.3.0 lisättiin muutoksia, jotka siirsivät julkisten arvojen tarkistuksen DH-protokollakäsittelijän puolelle ( Diffie-Hellman) ja lisätty yleisfunktioita tunnettujen ryhmien D.H. oikeellisuuden tarkistamisen yksinkertaistamiseksi. Virheen vuoksi he unohtivat lisätä uusia tarkistusfunktioita IKE-prosessin ja TKM:n (Trusted Key Manager) välityspalvelimena toimivaan charon-tkm-prosessiin, minkä seurauksena memcpy()-funktio sisälsi tarkistamattomia arvoja. joka mahdollisti jopa 512 10000 tavun kirjoittamisen XNUMX-tavuiseen puskuritietoon.

Lähde: opennet.ru

Lisää kommentti