StrongSwan IPsec'te uzaktan kod yürütülmesine yol açan güvenlik açığı

Linux, Android, FreeBSD ve macOS'ta kullanılan IPSec tabanlı bir VPN paketi olan StrongSwan, bir saldırganın uzaktan kod yürütmek için yararlanabileceği bir güvenlik açığına (CVE-2023-41913) sahiptir. Güvenlik açığı, charon-tkm işleminde, Anahtar Değişimi (IKE) protokolünün TKMv2 (Güvenilir Anahtar Yöneticisi) uygulamasındaki bir hatadan kaynaklanıyor ve özel olarak biçimlendirilmiş DH (Diffie–Hellman) düzeni değerleri işlenirken arabellek taşmasına neden oluyor. Güvenlik açığı yalnızca 5.3.0'dan itibaren charon-tkm ve StrongSwan sürümlerini kullanan sistemlerde ortaya çıkıyor. StrongSwan 5.9.12 güncellemesinde sorun düzeltildi. 5.3.x'ten itibaren şubelerdeki zafiyeti gidermek için yamalar da hazırlandı.

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

Yorum ekle