WhiteHat News #ID:2017
VIP Members
-
20/03/2017
-
113
-
356 bài viết
Lỗ hổng LibSSH cho phép hacker kiểm soát máy chủ mà không cần mật khẩu
Một lỗ hổng nghiêm trọng 4 năm tuổi trong Libssh, thư viện triển khai Secure Shell (SSH) đã được phát hiện, cho phép vượt qua cơ chế xác thực và chiếm quyền quản trị trên máy chủ tồn tại lỗ hổng mà không cần mật khẩu.
Lỗ hổng được đặt tên là CVE-2018-10933, tồn tại trong phiên bản Libssh 0.6 được phát hành trước năm 2014, khiến hàng nghìn máy chủ các doanh nghiệp đứng trước nguy cơ bị tấn công trong suốt 4 năm qua.
Nhưng rất may là OpenSSH và triển khai libssh trên Github không bị ảnh hưởng bởi lỗ hổng.
Lỗ hổng xuất phát từ lỗi code trong Libssh và "vô cùng đơn giản" để khai thác.
Theo khuyến cáo an ninh được công bố ngày 16/10, kẻ tấn công chỉ cần gửi một thông điệp "SSH2_MSG_USERAUTH_SUCCESS" tới một máy chủ có kết nối SSH được kích hoạt, thay vì thông điệp chính xác là "SSH2_MSG_USERAUTH_REQUEST".
Vì lỗi logic trong libssh, thư viện không xác thực được gói tin “đăng nhập thành công” được gửi bởi máy chủ hay từ client và cũng không thể kiểm tra chính xác quá trình xác thực đã hoàn thành hay chưa.
Do đó, nếu kẻ tấn công từ xa (client) gửi phản hồi "SSH2_MSG_USERAUTH_SUCCESS" này tới libssh, libssh coi xác thực đã thành công và cấp cho kẻ tấn công quyền truy cập vào máy chủ mà không cần nhập mật khẩu.
Mặc dù GitHub sử dụng libssh nhưng trang web chính thức của GitHub và GitHub Enterprise không bị ảnh hưởng bởi lỗ hổng.
Theo thông báo của một nhân viên an ninh GitHub trên Twitter, "Chúng tôi sử dụng phiên bản libssh tùy chỉnh; SSH2_MSG_USERAUTH_SUCCESS với máy chủ libssh không phụ thuộc vào việc xác thực dựa trên khóa công cộng (public key)".
Libssh đã giải quyết vấn đề này bằng việc phát hành các phiên bản libssh 0.8.4 và 0.7.6 vào ngày 16/10, đồng thời công bố thông tin chi tiết của lỗ hổng.
Nếu đã cài đặt Libssh trên trang web và đang sử dụng thành phần máy chủ, người dùng được khuyến cáo nên cài đặt các phiên bản cập nhật của Libssh trong thời gian sớm nhất.
Nhưng rất may là OpenSSH và triển khai libssh trên Github không bị ảnh hưởng bởi lỗ hổng.
Lỗ hổng xuất phát từ lỗi code trong Libssh và "vô cùng đơn giản" để khai thác.
Theo khuyến cáo an ninh được công bố ngày 16/10, kẻ tấn công chỉ cần gửi một thông điệp "SSH2_MSG_USERAUTH_SUCCESS" tới một máy chủ có kết nối SSH được kích hoạt, thay vì thông điệp chính xác là "SSH2_MSG_USERAUTH_REQUEST".
Vì lỗi logic trong libssh, thư viện không xác thực được gói tin “đăng nhập thành công” được gửi bởi máy chủ hay từ client và cũng không thể kiểm tra chính xác quá trình xác thực đã hoàn thành hay chưa.
Do đó, nếu kẻ tấn công từ xa (client) gửi phản hồi "SSH2_MSG_USERAUTH_SUCCESS" này tới libssh, libssh coi xác thực đã thành công và cấp cho kẻ tấn công quyền truy cập vào máy chủ mà không cần nhập mật khẩu.
Mặc dù GitHub sử dụng libssh nhưng trang web chính thức của GitHub và GitHub Enterprise không bị ảnh hưởng bởi lỗ hổng.
Theo thông báo của một nhân viên an ninh GitHub trên Twitter, "Chúng tôi sử dụng phiên bản libssh tùy chỉnh; SSH2_MSG_USERAUTH_SUCCESS với máy chủ libssh không phụ thuộc vào việc xác thực dựa trên khóa công cộng (public key)".
Libssh đã giải quyết vấn đề này bằng việc phát hành các phiên bản libssh 0.8.4 và 0.7.6 vào ngày 16/10, đồng thời công bố thông tin chi tiết của lỗ hổng.
Nếu đã cài đặt Libssh trên trang web và đang sử dụng thành phần máy chủ, người dùng được khuyến cáo nên cài đặt các phiên bản cập nhật của Libssh trong thời gian sớm nhất.
Theo The hacker news