Ievainojamība programmā strongSwan IPsec, kas izraisa attālinātu koda izpildi

strongSwan, uz IPSec balstītai VPN pakotnei, ko izmanto operētājsistēmās Linux, Android, FreeBSD un macOS, ir ievainojamība (CVE-2023-41913), ko uzbrucējs var izmantot attālinātai koda izpildei. Ievainojamība ir radusies kļūdas dēļ charon-tkm procesā ar tā TKMv2 (uzticamo atslēgu pārvaldnieku) atslēgu apmaiņas (IKE) protokola ieviešanu, kā rezultātā rodas bufera pārpilde, apstrādājot īpaši formatētas DH (Diffie–Hellman) shēmas vērtības. Ievainojamība parādās tikai sistēmās, kurās tiek izmantoti charon-tkm un strongSwan laidieni, sākot no 5.3.0. Problēma ir novērsta strongSwan 5.9.12 atjauninājumā. Lai novērstu ievainojamību filiālēs, sākot no 5.3.x, ir sagatavoti arī ielāpi.

Kļūda rodas tādēļ, ka netiek pārbaudīts publisko Difija-Helmana vērtību lielums pirms to kopēšanas uz fiksēta izmēra buferi stekā. Pārplūdi var uzsākt, nosūtot īpaši izstrādātu IKE_SA_INIT ziņojumu, kas tiek apstrādāts bez autentifikācijas. Vecākajās strongSwan versijās izmēra pārbaude tika veikta KE lietderīgās slodzes apstrādātājā (Key Exchange), bet versijā 5.3.0 tika pievienotas izmaiņas, kas pārcēla publisko vērtību pārbaudi uz DH protokola apstrādātāja pusi ( Diffie-Hellman) un pievienoja vispārīgas funkcijas, lai vienkāršotu zināmo grupu D.H. pareizības pārbaudi. Kļūdas dēļ viņi aizmirsa pievienot jaunas pārbaudes funkcijas charon-tkm procesam, kas darbojas kā starpniekserveris starp IKE procesu un TKM (uzticamo atslēgu pārvaldnieku), kā rezultātā funkcija memcpy() saturēja nepārbaudītas vērtības. kas ļāva ierakstīt līdz 512 10000 baitiem XNUMX baitu bufera datos.

Avots: opennet.ru

Pievieno komentāru