Lỗ hổng mới trong Sudo cho phép người dùng cục bộ chiếm đặc quyền root

13:58 | 05/02/2021
M.H

Một lỗ hổng vừa được vá trong Sudo cho phép bất kỳ người dùng cục bộ nào cũng có thể chiếm các đặc quyền root trên hệ điều hành như Unix mà không yêu cầu xác thực.

Chương trình sudo hoạt động trên nguyên tắc đặc quyền tối thiểu, cung cấp cho người dùng các quyền để phục vụ công việc mà không ảnh hưởng đến tính bảo mật của toàn hệ thống.

Khi thực thi các lệnh trên hệ điều hành Unix, người dùng thông thường có thể sử dụng sudo (superuser) để thực thi các lệnh với quyền root nếu họ có quyền hoặc biết được mật khẩu của người dùng root.

Sudo cũng có thể được cấu hình để cho phép người dùng thực thi các lệnh với vai trò người dùng khác bằng cách thêm các lệnh đặc biệt vào file cấu hình sudoer.

Lỗ hổng trong Sudo (CVE-2021-3156) được các nhà nghiên cứu của Qualys tiết lộ vào ngày 13/01/2021 và đã có bản vá trước khi bị công khai.

Đây là một lỗi tràn bộ đệm trong bộ nhớ heap, có thể bị khai thác bởi người dùng cục bộ. Kẻ tấn công không cần biết mật khẩu người dùng vẫn có thể khai thác thành công lỗ hổng.

Lỗ hổng tồn tại do Sudo thực hiện không chính xác việc unescape dấu “\” trong các đối số. Qua đó, Qualys đã tạo ra 3 mã khai thác để chỉ ra cách lỗ hổng có thể bị khai thác thành công.

Sử dụng các mã khai thác này, các nhà nghiên cứu có thể có được các đặc quyền root trên nhiều bản phân phối Linux, gồm có Debian 10 (Sudo 1.8.27), Ubuntu 20.04 (Sudo 1.8.31) và Fedora (Sudo 1.9.2). Các bản phân phối và hệ điều hành khác của Sudo cũng có thể bị khai thác bởi lỗ hổng này.

Để kiểm tra hệ thống của mình có tồn tại lỗ hổng này không, người dùng có thể truy cập với vai trò không phải người dùng root, chạy lệnh "sudoedit -s /". Hệ thống tồn tại lỗ hổng sẽ hiển thị báo lỗi bắt đầu bằng "sudoedit:", trong khi thông báo trên hệ thống đã được vá sẽ đầu bằng "usage:"

Quản trị viên hệ thống sử dụng Sudo để ủy quyền root đến người dùng cần nâng cấp lên sudo 1.9.5p2 hoặc cao hơn để phòng tránh rủi ro mất an toàn thông tin.