Trong tiện ích
Nếu sudoers có các quy tắc hợp lệ, nhưng cực kỳ hiếm trong thực tế, cho phép thực thi một lệnh nhất định dưới UID của bất kỳ người dùng nào ngoài root, thì kẻ tấn công có quyền thực thi lệnh này có thể bỏ qua hạn chế đã thiết lập và thực thi lệnh bằng quyền gốc. Để vượt qua giới hạn, chỉ cần thử thực thi lệnh được chỉ định trong cài đặt với UID “-1” hoặc “4294967295”, điều này sẽ dẫn đến việc thực thi lệnh đó với UID 0.
Ví dụ: nếu có một quy tắc trong cài đặt cung cấp cho bất kỳ người dùng nào quyền thực thi chương trình /usr/bin/id dưới bất kỳ UID nào:
myhost ALL = (TẤT CẢ, !root) /usr/bin/id
hoặc một tùy chọn chỉ cho phép thực thi đối với một người dùng cụ thể:
myhost bob = (TẤT CẢ, !root) /usr/bin/id
Người dùng có thể thực thi “sudo -u '#-1' id” và tiện ích /usr/bin/id sẽ được khởi chạy dưới quyền root, bất chấp lệnh cấm rõ ràng trong cài đặt. Vấn đề xảy ra là do bỏ qua các giá trị đặc biệt “-1” hoặc “4294967295”, điều này không dẫn đến thay đổi trong UID, nhưng vì bản thân sudo đã chạy bằng root nên không thay đổi UID nên lệnh target cũng ra mắt với quyền root.
Trong các bản phân phối SUSE và openSUSE, nếu không chỉ định “NOPASSWD” trong quy tắc thì sẽ tồn tại một lỗ hổng
myhost ALL = (TẤT CẢ, !root) NOPASSWD: /usr/bin/id
Đã khắc phục sự cố trong bản phát hành
Nguồn: opennet.ru