Lỗ hổng trong StrongSwan IPsec dẫn đến việc thực thi mã từ xa

StrongSwan, gói VPN dựa trên IPSec được sử dụng trên Linux, Android, FreeBSD và macOS, có một lỗ hổng (CVE-2023-41913) có thể bị kẻ tấn công khai thác để thực thi mã từ xa. Lỗ hổng này là do lỗi trong quy trình charon-tkm khi triển khai TKMv2 (Trình quản lý khóa đáng tin cậy) của giao thức Trao đổi khóa (IKE), dẫn đến tràn bộ đệm khi xử lý các giá trị lược đồ DH (Diffie–Hellman) được định dạng đặc biệt. Lỗ hổng chỉ xuất hiện trên các hệ thống sử dụng bản phát hành charon-tkm và strongSwan bắt đầu từ 5.3.0. Sự cố đã được khắc phục trong bản cập nhật strongSwan 5.9.12. Để khắc phục lỗ hổng trong các nhánh bắt đầu từ 5.3.x, các bản vá cũng đã được chuẩn bị.

Lỗi xảy ra do không kiểm tra kích thước của các giá trị Diffie-Hellman công khai trước khi sao chép chúng vào bộ đệm có kích thước cố định trên ngăn xếp. Tràn có thể được bắt đầu bằng cách gửi tin nhắn IKE_SA_INIT được tạo đặc biệt được xử lý mà không cần xác thực. Trong các phiên bản cũ hơn của StrongSwan, việc kiểm tra kích thước được thực hiện trong trình xử lý tải trọng KE (Key Exchange), nhưng trong phiên bản 5.3.0, các thay đổi đã được thêm vào khiến việc kiểm tra các giá trị công khai sang một bên của trình xử lý giao thức DH ( Diffie-Hellman) và thêm các hàm tổng quát để đơn giản hóa việc kiểm tra tính đúng đắn của các nhóm đã biết D.H. Do sơ suất, họ đã quên thêm các chức năng kiểm tra mới vào quy trình charon-tkm, hoạt động như một proxy giữa quy trình IKE và TKM (Trình quản lý khóa đáng tin cậy), do đó hàm memcpy() chứa các giá trị không được kiểm tra ​​cho phép ghi tối đa 512 byte vào dữ liệu bộ đệm 10000 byte.

Nguồn: opennet.ru

Thêm một lời nhận xét