Lỗi lệnh Sudo cho người dùng chạy lệnh bằng root kể cả khi người dùng bị hạn chế về quyền.
Tất cả người dùng Linux chú ý
Một lỗ hổng được tìm thấy trong câu lệnh Sudo–một trong những câu lệnh quan trọng, mạnh và được sử dùng thường xuyên nhất, và cũng là câu lệnh cốt lõi được cài đặt trong rất nhiều hệ điều hành UNIX hay Linux-based.
Lỗ hổng dựa trên việc bỏ qua chính sách bảo mật, lệnh sudo có thể cho phép người dùng có ý định xấu hoặc các phần mềm độc hại có thể thực thi các lệnh dưới quyền cao nhất (quyền root) trên hệ thống Linux, mặc dù đã được cấu hình kĩ càng.
Sudo, viết tắt của “superuser do”, là một lệnh hệ thống cho phép người dùng chạy các ứng dụng hoặc lệnh với đặc quyền của người dùng khác mà không cần phải chuyển đổi evironment (môi trường), thường xuyên nhất là chạy lệnh dưới quyền root.
Theo mặc định, nhiều bản phân phối của hệ điều hành Linux, từ khóa ALL trong tệp /etc/sudoers, như trong ảnh dưới đây, cho phép những người dùng trong nhóm admin (quảng trị) hay sudo chạy bất kỳ lệnh nào như bất kỳ người dùng hợp lệ nào trên hệ thống.
Tuy nhiên, khi phân quyền là một trong những điều cơ bản trong mô hình bảo mật của hệ điều hành Linux, quản trị viên có thể cấu hình tệp sudoers để xác định người dùng nào có thể chạy lệnh nào cho người người dùng nào.
Cho nên, ngay cả khi người dùng thường đã bị hạn chế chạy một lệnh cụ thể hay bất kì, dưới quyền root, lỗ hổng có thể cho phép người dùng bỏ qua chính sách bảo mật và kiểm soát hoàn toàn hệ thống
“Người dùng có thể sử dụng lỗ hổng này thông qua một user với các đặc quyền sudo để chạy lệnh bằng quyền quản trị (root) ngay cả khi chính sách Runas không cho phép truy cập root và miễn từ khóa ALL được liệt kê đầu tiên trong Runas,” các nhà phát triển sudo nói.
Làm sao để khai thác lỗi này? Chỉ cần ID người Sudo -1 hoặc 4294967295
Lỗ hổng có mã cve là CVE-2019-14287 và được phát hiện bởi Joe Vennix bên bảo mật thông tin của Apple, lỗ hổng này rất là quan trọng vì sudo là được thiết kế để cho phép người dùng sửa mật khẩu đăng nhập của riêng họ để thực thi các lệnh như 1 người dùng khác mà không cần mật khẩu của người dùng đó.
Đáng chú ý ở đây là lỗ hổng này có thể bị kẻ tấn công khai thác để chạy các lệnh với quyền root chỉ bàng cách chỉ định ID người dùng là “-1” hoặc “4294967295”.
Bởi vì có một hàm chức năng giúp chuyển đổi id người dùng thành tên người dùng của nó và xử lý không chính xác, -1 hoặc 4294967295 sẽ được chuyển thành 0, và id của nó chính là người dùng root.
“Ngoài ra, dù ID người dùng được chỉ định qua option -u không tồn tại trong password database, nên không có mô-đun phiên PAM nào được chạy ”
Lỗ hổng này ảnh hưởng đến tất cả các phiên bản sudo trước bản 1.8.28 (bản phát hành mới nhất) , đã được phát hành trong ngày 15/10/2019.
Vì cuộc tấn công hoạt động trong một kịch bản dựa trên tệp cấu hình sudoers, và nó không ảnh hướng lớn đến phần lớn người dùng. Tuy nhiên, nếu bạn sửa dụng Linux, bạn nên cập nhật gói sudo lên phiên bản mới nhất ngay khi có sẵn.
Nguồn thehackernews.com