StrongSwan IPsec pažeidžiamumas, dėl kurio kodas vykdomas nuotoliniu būdu

strongSwan, IPSec pagrįstas VPN paketas, naudojamas Linux, Android, FreeBSD ir macOS, turi pažeidžiamumą (CVE-2023-41913), kurį užpuolikas gali išnaudoti nuotoliniu būdu vykdydamas kodą. Pažeidžiamumas atsirado dėl klaidos charon-tkm procese, įdiegus raktų mainų (IKE) protokolą TKMv2 (Patikimų raktų valdytojas), todėl apdorojant specialiai suformatuotas DH (Diffie–Hellman) schemos reikšmes atsiranda buferio perpildymas. Pažeidžiamumas atsiranda tik sistemose, kuriose naudojami „charon-tkm“ ir „strongSwan“ leidimai, pradedant nuo 5.3.0. Problema išspręsta atnaujinus strongSwan 5.9.12. Pažeidžiamumui pašalinti šakose, pradedant nuo 5.3.x, taip pat buvo paruošti pataisymai.

Klaida atsirado dėl to, kad nepatikrintas viešųjų Diffie-Hellman reikšmių dydis prieš nukopijuojant jas į fiksuoto dydžio buferį, esantį dėtuvėje. Perpildymas gali būti inicijuotas siunčiant specialiai sukurtą IKE_SA_INIT pranešimą, kuris apdorojamas be autentifikavimo. Senesnėse strongSwan versijose dydžio tikrinimas buvo atliktas KE naudingos apkrovos tvarkyklėje (Key Exchange), tačiau 5.3.0 versijoje buvo pridėti pakeitimai, kurie perkėlė viešųjų reikšmių patikrinimą į DH protokolo tvarkyklės pusę ( Diffie-Hellman) ir pridėjo bendrųjų funkcijų, kad supaprastintų žinomų grupių D.H. teisingumo patikrinimą. Dėl apsirikimo jie pamiršo pridėti naujų tikrinimo funkcijų į charon-tkm procesą, kuris veikia kaip tarpinis serveris tarp IKE proceso ir TKM (Trusted Key Manager), todėl funkcijoje memcpy() buvo nepažymėtos reikšmės. tai leido į 512 baitų buferio duomenis įrašyti iki 10000 XNUMX baitų.

Šaltinis: opennet.ru

Добавить комментарий