ช่องโหว่ใน Sudo ยอมให้รันคำสั่งในฐานะ root แม้ตั้งค่าไม่ให้รันได้

ประกาศสำหรับผู้ใช้ Linux พบช่องโหว่ใน Sudo ซึ่งเป็น Command หลักของระบบ Linux โดยช่องโหว่นี้ยอมให้รันคำสั่งในฐานะ root แม้ตั้งค่าใน sudoers configuration ไม่ให้รันได้ โชคดีที่ช่องโหว่นี้ทำงานได้ก็ต่อเมื่อมีการตั้งค่าแตกต่างจากการตั้งค่าปกติเท่านั้น ทำให้ผู้ใช้งาน Linux ทั่วไปจะไม่ได้รับผลกระทบ

การตั้งค่าไม่ปกติดังกล่าวคือ การตั้งค่าให้ผู้ใช้งานสามารถรันคำสั่งเป็นผู้ใช้งานอื่นได้ยกเว้น root เช่น ตั้งค่าใน sudoers configuration ว่า

bob myhost = (ALL, !root) /usr/bin/vi

แปลว่า bob สามารถรันคำสั่ง vi เป็นผู้ใช้งานใดก็ได้ยกเว้น root เช่น สามารถรันคำสั่ง sudo -u#[UID] vi ซึ่งจะทำให้ bob รันคำสั่งเป็นผู้ใช้งานเลข UID ใดๆ ก็ได้

แต่ช่องโหว่ดังกล่าวจะเกิดเมื่อ bob รันคำสั่ง sudo -u#-1 vi หรือ sudo -u#4294967295 vi ซึ่งเมื่อรันด้วยเลข UID -1 หรือ 4294967295 จะทำให้ bob ได้สิทธิ์ root ซึ่งขัดกับที่ตั้งคำสั่งห้ามไว้

ช่องโหว่นี้ได้รับ CVE-2019-14287 พบโดย Joe Vennix ของ Apple Information Security

ผู้ใช้งานควรตรวจสอบว่ามีการตั้งค่าที่เสี่ยงกับช่องโหว่ดังกล่าวหรือไม่และควรอัปเดต sudo ให้เป็น 1.8.28

ที่มา thehackernews redhat และ bleepingcomputer