Kerentanan pelaksanaan kod jauh StrongSwan IPsec

strongSwan 5.9.10 kini tersedia, pakej percuma untuk mencipta sambungan VPN berdasarkan protokol IPSec yang digunakan dalam Linux, Android, FreeBSD dan macOS. Versi baharu menghapuskan kerentanan berbahaya (CVE-2023-26463) yang boleh digunakan untuk memintas pengesahan, tetapi berpotensi juga membawa kepada pelaksanaan kod penyerang pada pelayan atau pihak klien. Masalah berlaku apabila mengesahkan sijil yang direka khas dalam kaedah pengesahan EAP (Extensible Authentication Protocol) berasaskan TLS.

Kerentanan ini disebabkan oleh pengendali TLS yang salah menerima kunci awam daripada sijil rakan sebaya, menganggapnya sebagai boleh dipercayai walaupun sijil tidak dapat disahkan dengan jayanya. Khususnya, apabila memanggil fungsi tls_find_public_key() , pemilihan berdasarkan jenis kunci awam digunakan untuk menentukan sijil yang boleh dipercayai. Masalahnya ialah pembolehubah yang digunakan untuk menentukan jenis kunci untuk operasi carian tetap ditetapkan, walaupun sijil tidak boleh dipercayai.

Selain itu, dengan memanipulasi kunci, anda boleh mengurangkan kaunter rujukan (jika sijil tidak boleh dipercayai, rujukan kepada objek dikeluarkan selepas menentukan jenis kunci) dan mengosongkan memori untuk objek yang masih digunakan dengan kunci. Cacat ini tidak mengecualikan penciptaan eksploitasi untuk membocorkan maklumat daripada memori dan melaksanakan kod tersuai.

Serangan ke atas pelayan dilakukan melalui klien menghantar sijil yang ditandatangani sendiri untuk mengesahkan klien menggunakan kaedah EAP-TLS, EAP-TTLS, EAP-PEAP dan EAP-TNC. Serangan ke atas klien boleh dilakukan melalui pelayan yang mengembalikan sijil yang direka khas. Kerentanan muncul dalam keluaran strongSwan 5.9.8 dan 5.9.9. Penerbitan kemas kini pakej dalam pengedaran boleh dijejaki pada halaman: Debian, Ubuntu, Gentoo, RHEL, SUSE, Arch, FreeBSD, NetBSD.

Sumber: opennet.ru

Tambah komen