ในด้านอรรถประโยชน์
หาก sudoers มีกฎที่ถูกต้องแต่พบได้น้อยมากในทางปฏิบัติที่อนุญาตให้ดำเนินการคำสั่งบางอย่างภายใต้ UID ของผู้ใช้อื่นที่ไม่ใช่ root ผู้โจมตีที่มีอำนาจดำเนินการคำสั่งนี้สามารถข้ามข้อจำกัดที่กำหนดไว้และดำเนินการคำสั่งด้วย สิทธิ์รูท หากต้องการข้ามข้อ จำกัด เพียงลองดำเนินการคำสั่งที่ระบุในการตั้งค่าด้วย UID“ -1” หรือ“ 4294967295” ซึ่งจะนำไปสู่การดำเนินการด้วย UID 0
ตัวอย่างเช่น หากมีกฎในการตั้งค่าที่ให้สิทธิ์ผู้ใช้ในการรันโปรแกรม /usr/bin/id ภายใต้ UID ใดๆ:
myhost ALL = (ทั้งหมด, !root) /usr/bin/id
หรือตัวเลือกที่อนุญาตให้ดำเนินการเฉพาะกับผู้ใช้ Bob ที่ระบุเท่านั้น:
myhost bob = (ทั้งหมด, !root) /usr/bin/id
ผู้ใช้สามารถดำเนินการ “sudo -u '#-1' id” และยูทิลิตี้ /usr/bin/id จะเปิดตัวในฐานะรูท แม้ว่าจะมีข้อห้ามอย่างชัดเจนในการตั้งค่าก็ตาม ปัญหาเกิดจากการมองข้ามค่าพิเศษ “-1” หรือ “4294967295” ซึ่งไม่ทำให้เกิดการเปลี่ยนแปลงใน UID แต่เนื่องจาก sudo เองทำงานเป็น root อยู่แล้ว โดยไม่ต้องเปลี่ยน UID คำสั่งเป้าหมายก็เช่นกัน เปิดตัวด้วยสิทธิ์รูท
ในการแจกแจง SUSE และ openSUSE โดยไม่ระบุ “NOPASSWD” ในกฎ มีช่องโหว่
myhost ALL = (ทั้งหมด, !root) NOPASSWD: /usr/bin/id
ปัญหาได้รับการแก้ไขในการเปิดตัว
ที่มา: opennet.ru