Phát hiện lỗ hổng RCE nghiêm trọng trong OpenVPN vượt qua hai lần đánh giá an ninh gần đây

20/03/2017
113
356 bài viết
Phát hiện lỗ hổng RCE nghiêm trọng trong OpenVPN vượt qua hai lần đánh giá an ninh gần đây
Một chuyên gia nghiên cứu đã phát hiện 4 lỗ hổng trong OpenVPN, bao gồm một lỗi thực thi mã từ xa nghiêm trọng. Bốn lỗ hổng này đã “thoát” được hai lần đánh giá an ninh quy mô lớn trong năm 2017.
RCE.png
OpenVPN là một trong những giải pháp phần mềm mã nguồn mở phổ biến nhất và được dùng rộng rãi nhất cho nhiều nhu cầu kết nối đa dạng, đặc biệt trong truy cập Internet riêng tư ở chế độ ẩn danh.

Fuzzer được sử dụng để tìm lỗ hổng trong OpenVPN

Nhà nghiên cứu người Hà Lan Guido Vranken chỉ sử dụng duy nhất một fuzzer và phát hiện được bốn lỗ hổng trên.

Ba trong số bốn lỗ hổng có thể tác động đến máy chủ, trong đó có hai lỗ hổng khiến máy chủ bị treo, lỗi còn lại khai thác client cho phép hacker đánh cắp mật khẩu để truy cập vào máy chủ proxy.

Lỗ hổng nghiêm trọng nhất CVE-2017-7521 tác động đến máy chủ OpenVPN và nằm trong chức năng extract_x509_extension () xử lý chứng chỉ SSL.

Lỗ hổng này cho phép hacker sau khi đăng nhập tạo và gửi một chứng chỉ. Chứng chỉ này sau đó hoặc khiến dịch vụ OpenVPN bị treo hoặc khai thác một lỗ hổng “double free” có khả năng dẫn đến thực thi mã từ xa trong máy chủ.

Trong một báo cáo công bố vào ngày 21/6, chuyên gia này đã giải thích cách thức lỗ hổng này gây ra lỗi “memory leak” từ xa do OpenVPN không kiểm tra được một giá trị trả về cụ thể.

Chuyên gia này giải thích nếu nhìn vào mã nguồn OpenSSL, hàm ASN1_STRING_to_UTF8 có thể bị lỗi nếu không phát đủ bộ nhớ. Thực tế là hacker có thể khai thác lỗi double-free NẾU bộ nhớ máy chủ không đủ.

Lỗ hổng thứ hai CVE-2017-7520 nằm trong cách thức OpenVPN kết nối với một proxy Windows NTLM version 2.

Hacker sử dụng phương thức tấn công man-in-the-middle giữa client trong OpenVPN và proxy để có thể làm treo client từ xa hoặc lấy cắp mật khẩu của người dùng đến proxy từ lỗi memory leak.

Lỗ hổng chỉ có thể bị khai thác trong một số trường hợp nhất định, như khi client kết nối với một proxy thông qua xác thực NTLM version 2 hoặc khi client có username kết thúc bằng dấu gạch chéo ngược.

Phía OpenVPN giaỉ thích, nếu các client sử dụng một proxy HTTP có xác thực NTLM (--http-proxy [|'auto'|'auto-nct'] ntlm2), hacker thông qua tấn công man-in-the-middle giữa một client và proxy có thể khiến cho client đó bị treo hoặc tối đa 96 bytes trong stack bị lộ.

"Stack bị khai thác có thể chứa mật khẩu của proxy. Nếu mật khẩu proxy không được dùng lại, điều này có thể sẽ không ảnh hưởng đến tính an toàn của tunel OpenVPN. Các client không sử dụng tuỳ chọn --http-proxy với chứng thực ntlm2 cũng sẽ không bị ảnh hưởng".

Hai lỗ hổng khác (CVE-2017-7508 và CVE-2017-7522) khiến các máy chủ bị treo từ xa có thể bị khai thác bằng cách gửi các gói IPv6 chứa mã độc hoặc dữ liệu sau xác thực có mã độc.

Đã có các bản vá cho các máy chủ và client

Vranken đã thông báo tất cả các lỗ hổng trên cho OpenVPN vào tháng 5 và tháng 6. Phía OpenVPN đã cập nhật bản vá các lỗ hổng trong phiên bản mới nhất của phần mềm VPN.

Mặc dù chưa có bằng chứng nào chứng tỏ có lỗ hổng đã bị khai thác, người dùng được khuyến cáo nên cập nhật OpenVPN lên các phiên bản 2.4.3 hoặc 2.3.17 sớm nhất có thể.

Theo Hackernews
 
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Thẻ
lỗ hổng openvpn rce
Bên trên