Phát hiện lỗi bảo mật của Sudo giúp leo thang đặc quyền trên MacOS và Linux

Chuyên gia bảo mật Joe Vennix của Apple đã tìm thấy một lỗ hổng khá nghiêm trọng trong Sudo. Ở một cấu hình nhất định, lỗi này cho phép người dùng thấp quyền (low privileged users) hoặc các chương trình độc hại chạy các lệnh tùy ý với đặc quyền quản trị (root) trên các hệ điều hành Linux hoặc MacOS. 

Sudo là một trong những tiện ích quan trọng, hữu ích và phổ biến nhất, thường được cài đặt sẵn như một lệnh quan trọng (core command) trên MacOS và hầu hết các hệ điều hành dựa trên UNIX hay Linux. 

Sudo được thiết kế để cho phép người dùng chạy các ứng dụng hoặc lệnh với các đặc quyền của người dùng khác mà không cần chuyển đổi môi trường. 

Lỗ hổng Sudo (CVE-2019-18634)

Lỗ hổng leo thang đặc quyền mới được phát hiện được đặt tên là CVE-2019-18634, bắt nguồn từ sự nghi ngờ về vấn đề tràn bộ nhớ đệm (stack-based buffer overflow) trong tất cả các phiên bản Sudo trước bản 1.8.26. 

Theo Vennix, lỗi này chỉ có thể bị khai thác khi tùy chọn “pwfeedback” được bật trong file cấu hình sudoers. Đây là tính năng phản hồi trực quan khi người dùng nhập mật khẩu vào terminal, mật khẩu sẽ hiện lên màn hình dưới dạng dấu hoa thị (*). 

Cần lưu ý là tính năng pwfeedback không được bật sẵn theo mặc định trong phiên bản Sudo trở về trước hoặc các packages khác. Tuy nhiên, một số bản phân phối Linux như Linux Mint và Elementary OS thì tính năng pwfeedback được mặc định bật sẵn. 

Bên cạnh đó, khi pwfeedback bật, lỗ hổng có thể bị khai thác bởi bất kỳ người dùng nào, kể cả những người dùng không được cấp quyền sudo. 

Nhà phát triển Sudo, ông Todd C. Miller, giải thích

“Lỗi có thể được tái hiện bằng cách đưa một dữ liệu đầu vào lớn vào Sudo khi nó nhắc nhập mật khẩu”. Ông cũng nói thêm “Kẻ tấn công có toàn quyền kiểm soát dữ liệu được sử dụng để tràn bộ nhớ đệm, vậy nên khả năng khai thác dữ liệu là khá cao.” 

Cách kiểm tra xem bạn có bị ảnh hưởng không

Để kiểm tra cấu hình sudoers có bị lỗi hay không, bạn có thể chạy lệnh “sudo -l” trong terminal của Linux hoặc macOS để tìm và kiểm tra xem “pwfeedback” có được bật không, và có được liệt kê trong output “Matching Defaults entries” hay không.

Nếu pwfeedback bật, bạn có thể tắt nó bằng cách thay đổi “Defaults pwfeedback” thành “Defaults !pwfeedback” trong file cấu hình sudoers để ngăn chặn việc khai thác lỗ hổng leo thang đặc quyền.

Vennix có trách nhiệm báo cáo về lỗ hổng cho nhân viên bảo trì của Sudo và cuối tuần trước họ đã phát hành phiên bản sudo 1.8.31 đã vá lỗi. 

Miller cho biết “Mặc dù các phiên bản Sudo 1.8.26 đến 1.8.30 cũng có các lỗi logic nhưng chúng là những lỗi không khai thác được do sự thay đổi trong xử lý EOF được ra mắt trong bản Sudo 1.8.26”. 

Apple cũng đã phát hành bản cập nhật vá lỗi cho macOS High Sierra 10.13.6, macOS Mojave 10.14.6, macOS Catalina 10.15.2 vào tuần trước. Năm ngoái, Joe Vennix cũng báo cáo về một lỗ hổng tương tự trong Sudo có thể đã bị kẻ tấn công khai thác để chạy các lệnh dưới quyền quản trị chỉ bằng cách chỉ định ID người dùng là “-1” hoặc “4294967295”.

Quỳnh Thảo, theo THN

Bài gốc: https://thehackernews.com/2020/02/sudo-linux-vulnerability.html