Алсын кодыг гүйцэтгэхэд хүргэдэг strongSwan IPsec-ийн эмзэг байдал

Linux, Android, FreeBSD болон macOS дээр ашиглагддаг IPSec-д суурилсан VPN багц болох strongSwan нь халдагчид алсаас код гүйцэтгэхэд ашиглаж болох эмзэг (CVE-2023-41913) байдаг. Энэ эмзэг байдал нь Key Exchange (IKE) протоколын TKMv2 (Итгэмжлэгдсэн Түлхүүр Менежер)-ийн хэрэгжилттэй charon-tkm процесст гарсан алдаатай холбоотой бөгөөд тусгайлан форматлагдсан DH (Diffie-Hellman) схемийн утгыг боловсруулах үед буфер халихад хүргэдэг. Энэ эмзэг байдал нь зөвхөн 5.3.0-с эхлэн charon-tkm болон strongSwan хувилбаруудыг ашигладаг системд гарч ирдэг. Асуудлыг strongSwan 5.9.12 шинэчлэлтээр зассан. 5.3.x-ээс эхлэн салбаруудын эмзэг байдлыг засахын тулд засваруудыг мөн бэлтгэсэн.

Нийтийн Diffie-Hellman утгуудыг стек дээрх тогтмол хэмжээтэй буферт хуулахаасаа өмнө хэмжээг нь шалгаагүйгээс алдаа гардаг. Тусгайлан боловсруулсан IKE_SA_INIT мессежийг илгээснээр халилтыг эхлүүлж болох бөгөөд үүнийг баталгаажуулалтгүйгээр боловсруулж болно. Swan-ийн хуучин хувилбаруудад хэмжээг шалгах ажлыг KE ​​ачааллын зохицуулагч (Key Exchange) дээр хийсэн боловч 5.3.0 хувилбарт нийтийн утгын шалгалтыг DH протокол зохицуулагчийн тал руу шилжүүлсэн өөрчлөлтүүд нэмэгдсэн. Diffie-Hellman) болон мэдэгдэж буй бүлгүүдийн зөв эсэхийг шалгахыг хялбарчлахын тулд ерөнхий функцүүдийг нэмсэн. Хяналтын улмаас тэд charon-tkm процесст шинэ шалгах функцүүдийг нэмэхээ мартсан бөгөөд энэ нь IKE процесс болон TKM (Итгэмжлэгдсэн түлхүүр менежер) хооронд прокси болж ажилладаг бөгөөд үүний үр дүнд memcpy() функц шалгагдаагүй утгуудыг агуулж байв. Энэ нь 512 байт буфер өгөгдөлд 10000 хүртэл байт бичих боломжийг олгосон.

Эх сурвалж: opennet.ru

сэтгэгдэл нэмэх