Các anh em Linux tập trung chú ý này!!!
Một lỗ hổng đã được phát hiện trong lệnh sudo – một trong những lệnh quan trọng, đa năng và được sử dụng nhiều nhất được cài vào nhân của hầu hết mọi hệ điều hành dựa trên UNIX và Linux.
Lỗ hổng này là một chính sách bảo mật của lệnh sudo bị vượt rào cho phép kẻ tấn công hoặc một chương trình thực thi những lệnh tùy ý với quyền root trên một hệ thống Linux kể cả khi tập tin thiết lập sudoers (sudoers configuration) không cho phép truy cập quyền root.
Sudo viết tắt cho superuser do – một lệnh hệ thống cho phép một người dùng phổ thông chạy những chương trình hoặc những tập lệnh với phân quyền của một superuser (người dùng tối cao) mà không cần đổi môi trường làm việc (tức là không cần thoát ra khỏi session người dùng hiện tại mà vẫn chạy được chương trình và lệnh với quyền của superuser).
Thiết lập mặc định của hầu hết các bản phân phối Linux đều để từ khóa mô tả “ALL” ở phần đặc tả RunAs trong tập tin “/etc/sudoers“, điều này cho phép mọi người dùng thuộc các nhóm superuser (admin và sudo) chạy bất kỳ lệnh nào với quyền của bất kỳ người dùng hợp lệ nào trên hệ thống.
Tuy nhiên, do sự phân cấp quyền người dùng là một trong những mô hình bảo mật cơ bản của Linux (team dev của Windows lười lắm, chỉ trừ khi người dùng tự setup phân quyền còn không thì thích gì là cứ Run as Administrator :v), quản trị viên có thể cấu hình tập tin để cho phép người dùng cụ thể có thể chạy những lệnh nhất định.
Vì vậy, kể cả khi một người dùng nào đó không được cho phép chạy một lệnh cụ thể hoặc mọi lệnh với quyền root thì lỗ hổng này vẫn cho phép người dùng đó có thể vượt rào được chính sách bảo mật và chiếm quyền kiểm soát toàn hệ thống.
“Miễn là từ khóa “ALL” được liệt kê đầu tiên trong đặc tả RunAs, một người dùng có thể chạy các lệnh dưới quyền root kể cả khi đặc tả RunAs không cho phép sử dụng quyền root” nhà phát triển của Sudo nói.
Làm sao để khai thác lỗ hổng này?
Lỗ hổng này được đánh dấu là CVE-2019-14287 và được phát hiện bởi Joe Vennix của Apple Information Security, điều đáng quan ngại hơn là lệnh sudo được thiết kế cho phép người dùng sử dụng chính mật khẩu đăng nhập của mình để chạy các lệnh với quyền superuser mà không cần mật khẩu của superuser.
Điều thú vị hơn 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 đặt ID người dùng là “-1” hoặc “4294967295” vì hàm chuyển đổi ID người dùng thành tên người dùng của ID đó xử lí sai giá trị “-1” hoặc là xem giá trị unsigned “4294967295” là “0”, mà “0” chính là ID của superuser root.
“Ngoài ra, vì ID người dùng được chỉ định qua tùy chọn -u không tồn tại trong cơ sở dữ liệu mật khẩu (password database), nên sẽ không có mô-đun 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 cập nhật 1.8.28 mới nhất gần đây và sẽ sớm được đưa ra dưới dạng bản cập nhật của nhiều bản phân phối Linux cho người dùng. Vì vậy, nếu đang dùng Linux, hãy tự nâng cấp sudo lên phiên bản mới nhất càng sớm càng tốt nếu có thể.
Dịch từ TheHackerNews bởi th3_5had0w.
Views: 1188