strongSwan, IPSec tabanlı bir VPN paketidir ve şu alanlarda kullanılır: Linux, AndroidFreeBSD ve macOSUzaktan kod yürütme için istismar edilebilen bir güvenlik açığı (CVE-2023-41913) tespit edilmiştir. Güvenlik açığı, TKMv2 (Güvenilir Anahtar Yöneticisi) tabanlı İnternet Anahtar Değişimi (IKE) protokolünün uygulanmasında charon-tkm işlemindeki bir hatadan kaynaklanmaktadır. Bu hata, DH (Diffie-Hellman) şemasının özel olarak hazırlanmış değerleri işlenirken arabellek taşmasına yol açar. Güvenlik açığı yalnızca charon-tkm kullanan ve strongSwan'ın 5.3.0 ile başlayan sürümlerinde bulunan sistemleri etkiler. Sorun, strongSwan 5.9.12 güncellemesinde giderilmiştir. 5.3.x ile başlayan dallar için de güvenlik açığını gidermek üzere yamalar hazırlanmıştır.
Hata, genel Diffie-Hellman değerlerinin yığındaki sabit boyutlu bir ara belleğe kopyalanmadan önce boyutunun kontrol edilmemesinden kaynaklanmaktadır. Kimlik doğrulama olmadan işlenen, özel hazırlanmış bir IKE_SA_INIT mesajı gönderilerek taşma başlatılabilir. StrongSwan'ın eski sürümlerinde, boyut kontrolü KE yük işleyicisinde (Key Exchange) gerçekleştirildi, ancak 5.3.0 sürümünde genel değerlerin kontrolünü DH protokol işleyicisinin yanına taşıyan değişiklikler eklendi ( Diffie-Hellman) ve bilinen grupların doğruluğunun kontrol edilmesini kolaylaştırmak için genel işlevler eklendi. Bir gözetim nedeniyle, IKE süreci ile TKM (Güvenilir Anahtar Yöneticisi) arasında proxy görevi gören charon-tkm sürecine yeni kontrol işlevleri eklemeyi unuttular ve bunun sonucunda memcpy() işlevi denetlenmeyen değerler içeriyordu. Bu, 512 baytlık bir arabellek verisine 10000 bayta kadar yazılmasına izin verdi.
Kaynak: opennet.ru
