Cả 2 lỗi bảo mật đều được phát hiện và báo cáo thông qua chương trình Bug Bounty của HackerOne, trong đó báo cáo đầu tiên được gửi đến bởi nhà phát triển Adam Chester vào hôm 21/8 cho ứng dụng Keybase Desktop cho macOS.
Keybase dính 2 lỗi bảo mật leo thang đặc quyền trong ứng dụng Linux và macOS
- Download Keybase trên Windows: Keybase
- Download Keybase trên Mac: Keybase for Mac
Chester cung cấp mô tả chi tiết về lỗ hổng và mã proof-of-concept mô phỏng lỗ hổng. Cụ thể lỗ hổng ảnh hưởng đến process Keybase Helper, không thực hiện kiểm tra quyền cấp phép đúng cách trong các phiên bản ứng dụng trước phiên bản 2.5.2.
Process Helper chịu trách nhiệm cập nhật ứng dụng và các thành phần ứng dụng. Process này chạy dưới các đặc quyền nâng cao (root) để có thể xóa hoặc di chuyển, cũng như khởi chạy các file, tạo thư mục, thêm ứng dụng và kexts (tiện ích mở rộng kernel, tương đương với driver).
Chester phát hiện ra rằng bất kỳ người dùng nào, bất kể cấp độ quyền của họ trên hệ thống ra sao đều có thể tương tác với process Helper thông qua MPXPCClient trong framework MPMessagePack.
Nhà nghiên cứu bảo mật Keybase cho biết: "phần mềm độc hại (bên ngoài Keybase) đang chạy trên máy tính cục bộ có thể đã sử dụng lỗi như vậy để leo thang các đặc quyền".
Ban đầu số tiền thưởng cho phát hiện này là 2.500 USD, sau đó được tăng lên gấp đôi về chất lượng nghiên cứu.
Ngay sau đó Keybase đã thực hiện khắc phục sự cố vào hồi tháng 9, nhưng chưa tiết lộ công khai chi tiết lỗ hổng và khuyến cáo người dùng cập nhật phiên bản ứng dụng mới hơn. Trong tháng này, các phiên bản ứng dụng cũ hơn không còn hoạt động, buộc người dùng chưa cập nhật phải cập nhật lên phiên bản ứng dụng mới nhất.
Chạy file bất kỳ dưới quyền root trên Linux
Hôm 23/10 vừa qua Keybase cũng nhận được thêm báo cáo lỗi bảo mật mới được đánh dấu là CVE-2018-18629, và được khai thác trong phiên bản ứng dụng cho Linux từ nhà nghiên cứu bảo mật Rich Mirch.
Kẻ tấn công có thể tận dụng lỗ hổng bảo mật này để leo thang đặc quyền trên hệ thống thông qua gói keybase-redirector, được sử dụng để hỗ trợ nhiều người dùng cục bộ và truy cập Keybase cá nhân của họ.
Trên Linux, trình chuyển hướng có đặc quyền root để tạo các mount point, gắn kết nhiều thư mục người dùng Keybase. Người dùng được hiển thị bằng các liên kết tượng trưng (symlink) bằng cách sử dụng giao diện FUSE (Filesystem in Userspace).
Theo Rich Mirch, lỗ hổng này có thể là do phiên bản keybase-redirector trước sử dụng nhị phân fusermount để tạo keybase mount point.
Tuy nhiên hàm được sử dụng để gọi fusermount không chỉ định đường dẫn tuyệt đối đến nhị phân và thực thi file bất kỳ có tên fusermount. Chẳng hạn một ứng dụng độc hại có thể thay đổi biến môi trường $PATH thành nơi có chứa phần mềm độc hại, sẽ được thực thi dưới quyền root.
Với phát hiện này, nhà nghiên cứu bảo mật Mirch cũng nhận được khoản tiền thưởng là 5.000 USD. Cùng ngày nhận được báo cáo lỗ hổng, Keybase đã nhanh chóng tiến hành khắc phục lỗi.
Các chi tiết lỗ hổng được công bố sau khi người dùng cập nhật lên các phiên bản ứng dụng mới hơn.