Sårbarhet i strongSwan IPsec som fører til ekstern kjøring av kode

strongSwan, en IPSec-basert VPN-pakke brukt på Linux, Android, FreeBSD og macOS, har en sårbarhet (CVE-2023-41913) som kan utnyttes for ekstern kjøring av kode av en angriper. Sårbarheten skyldes en feil i charon-tkm-prosessen med dens TKMv2 (Trusted Key Manager)-implementering av Key Exchange (IKE)-protokollen, noe som resulterer i et bufferoverløp ved behandling av spesialformaterte DH (Diffie–Hellman)-skjemaverdier. Sårbarheten vises kun på systemer som bruker charon-tkm og strongSwan-utgivelser fra og med 5.3.0. Problemet er løst i strongSwan 5.9.12-oppdateringen. For å fikse sårbarheten i grener som starter fra 5.3.x, er det også utarbeidet patcher.

Feilen er forårsaket av ikke å sjekke størrelsen på offentlige Diffie-Hellman-verdier før du kopierer dem til en buffer med fast størrelse på stabelen. Et overløp kan startes ved å sende en spesiallaget IKE_SA_INIT-melding som behandles uten autentisering. I eldre versjoner av strongSwan ble størrelseskontroll utført i KE-nyttelastbehandleren (Key Exchange), men i versjon 5.3.0 ble det lagt til endringer som flyttet kontrollen av offentlige verdier til siden av DH-protokollbehandleren ( Diffie-Hellman) og lagt til generiske funksjoner for å forenkle kontroll av riktigheten til kjente grupper D.H. På grunn av en forglemmelse glemte de å legge til nye kontrollfunksjoner til charon-tkm-prosessen, som fungerer som en proxy mellom IKE-prosessen og TKM (Trusted Key Manager), som et resultat av at memcpy()-funksjonen inneholdt ukontrollerte verdier som tillot opptil 512 10000 byte å bli skrevet til en XNUMX-byte bufferdata.

Kilde: opennet.ru

Legg til en kommentar