strongSwan'is, IPSec-protokollil põhinev VPN-pakett, mida kasutatakse Linuxis, Androidis, FreeBSD-s ja macOS-is, avastatud haavatavus (CVE-2023-41913), mida saab kasutada kurjategija kaugteostamiseks koodiks. Haavatavus on tingitud tõrkest charon-tkm protsessis, millel on IKE (Key Exchange) protokoll, mis põhineb TKMv2 (Trusted Key Manager), mis viib bufferi ülevooluni eriliselt vormindatud DH (Diffie–Hellman) skeemi väärtuste töötlemisel. Haavatavus ilmneb ainult süsteemides, mis kasutavad charon-tkm ja strongSwan versioonides alates 5.3.0. Probleem on lahendatud strongSwan 5.9.12 uuenduses. Haavatavuse parandamiseks versioonides alates 5.3.x on samuti ette valmistatud patšid.
Tõrge on tingitud avalike Diffie-Hellmani väärtuste suuruse kontrollimise puudumisest enne nende kopeerimist fikseeritud suurusega buffrisse virnas. Ülevoolu saab algatada spetsiaalselt vormindatud IKE_SA_INIT sõnumi saatmise kaudu, mida töödeldakse ilma autentimiseta. Vanemates strongSwan versioonides toimus suuruse kontroll KE payload'i (Key Exchange) töötlejas, kuid versioonis 5.3.0 tehti muudatusi, mis kandsid avalike väärtuste kontrolli üle DH (Diffie-Hellman) protokolli töötleja poole ning lisasid tüübifunktsioone tuntud DH rühmade korrektsuse kontrollimise lihtsustamiseks. Valearvestuse tõttu unustati uued kontrollimisfunktsioonid lisada charon-tkm protsessi, mis töötab IKE protsessi ja TKM (Trusted Key Manager) vahel proxy-na, mille tulemusena sattusid funktsiooni memcpy() mittekontrollitud väärtused, mis võimaldavad kirjutada 512-baidisesse buffrisse kuni 10000 baiti andmeid.
Allikas: opennet.ru
