WhiteHat News #ID:2017
VIP Members
-
20/03/2017
-
113
-
356 bài viết
Lỗ hổng xác thực nghiêm trọng được vá trong thư viện Bouncy Castle
Ra đời vào năm 2000, Bouncy Castle là các API được sử dụng để mã hóa cho các ngôn ngữ Java và C#, với mục tiêu đảm bảo tuân thủ các tiêu chuẩn và khả năng thích ứng.
Các nhà nghiên cứu CyRC vừa tiết lộ một lỗ hổng xác thực trong class OpenBSDBcrypt của thư viện mật mã Java có thể bị lợi dụng để vượt qua bước kiểm tra mật khẩu trong các ứng dụng dựa trên nền tảng các thuật toán của thư viện này. Lỗ hổng được đánh số CVE-2020-28052 và có điểm CVSS là 8,1.
Class OpenBSDBcrypt sử dụng thuật toán Bcrypt để băm mật khẩu và lỗi này bắt nguồn từ sai sót của quy trình triển khai trong phương thức OpenBSDBcrypt.doCheckPassword.
“Phương thức này chỉ kiểm tra vị trí các ký tự từ 0 đến 59, thay vì kiểm tra giá trị”, Synopsys CyRC giải thích.
Điều này có nghĩa là kẻ tấn công có thể vượt qua bước kiểm tra ngay cả khi chúng không thể khớp từng byte với giá trị băm được lưu trữ. Khai thác thành công lỗ hổng có thể dẫn đến việc bỏ qua bước xác thực, cho phép kẻ tấn công có được các quyền của một người dùng thông thường, thậm chí là quản trị viên.
Theo các nhà nghiên cứu, kẻ tấn công cần phải thực hiện tấn công dò mật khẩu (brute-force) trước khi khai thác lỗ hổng.
“Các thử nghiệm của chúng tôi chỉ ra 20% số mật khẩu đã thành công trong vòng 1.000 lần thử. Ngoài ra, tất cả các phép băm mật khẩu đều có thể vượt qua xác thực với đủ lần thử. Thậm chí một số băm mật khẩu có thể vượt qua bước kiểm tra với bất kỳ đầu vào nào”, các nhà nghiên cứu cho biết.
Lỗ hổng ảnh hưởng đến Bouncy Castle phiên bản 1.65 và 1.66, nhưng không ảnh hưởng đến các phiên bản trước đó. Bouncy Castle 1.67 được phát hành vào ngày 1/11/2020 đã cập nhật các bản vá cho lỗ hổng.
Nhà cung cấp và người dùng phần mềm sử dụng thư viện này được khuyến cáo nhanh chóng nâng cấp lên phiên bản Bouncy Castle Java từ 1.67 trở lên.
Class OpenBSDBcrypt sử dụng thuật toán Bcrypt để băm mật khẩu và lỗi này bắt nguồn từ sai sót của quy trình triển khai trong phương thức OpenBSDBcrypt.doCheckPassword.
“Phương thức này chỉ kiểm tra vị trí các ký tự từ 0 đến 59, thay vì kiểm tra giá trị”, Synopsys CyRC giải thích.
Điều này có nghĩa là kẻ tấn công có thể vượt qua bước kiểm tra ngay cả khi chúng không thể khớp từng byte với giá trị băm được lưu trữ. Khai thác thành công lỗ hổng có thể dẫn đến việc bỏ qua bước xác thực, cho phép kẻ tấn công có được các quyền của một người dùng thông thường, thậm chí là quản trị viên.
Theo các nhà nghiên cứu, kẻ tấn công cần phải thực hiện tấn công dò mật khẩu (brute-force) trước khi khai thác lỗ hổng.
“Các thử nghiệm của chúng tôi chỉ ra 20% số mật khẩu đã thành công trong vòng 1.000 lần thử. Ngoài ra, tất cả các phép băm mật khẩu đều có thể vượt qua xác thực với đủ lần thử. Thậm chí một số băm mật khẩu có thể vượt qua bước kiểm tra với bất kỳ đầu vào nào”, các nhà nghiên cứu cho biết.
Lỗ hổng ảnh hưởng đến Bouncy Castle phiên bản 1.65 và 1.66, nhưng không ảnh hưởng đến các phiên bản trước đó. Bouncy Castle 1.67 được phát hành vào ngày 1/11/2020 đã cập nhật các bản vá cho lỗ hổng.
Nhà cung cấp và người dùng phần mềm sử dụng thư viện này được khuyến cáo nhanh chóng nâng cấp lên phiên bản Bouncy Castle Java từ 1.67 trở lên.
Theo Securityweek