ชั้น 29 ออฟฟิศเศส แอท เซ็นทรัลเวิลด์

999/9 พระราม 1 กรุงเทพฯ 10330

บริการตลอด 24 ชั่วโมง

ทุกวัน ไม่เว้นวันหยุด

0-2107-3466

โทรเลยดิจะรออะไร

พบช่องโหว่ใน PolicyKit! ทำให้UID ของผู้ใช้ลีนุกซ์ที่ไม่ได้รับสิทธิเศษ สามารถเรียกใช้คำสั่งใน systemctl ได้

นักวิจัยด้านความปลอดภัย Rich Mirch ได้ออกมาแจ้งเกี่ยวกับช่องโหว่ที่พบใน PolicyKit ทำให้ UID ของผู้ใช้ตั้งแต่ 2147483647 ขึ้นไปสามารถรันคำสั่งใน systemctl ได้โดยไม่ต้องขออนุญาต หมายเลขของช่องโหว่นี้คือ https://blog.mirch.io/2018/12/09/cve-2018-19788-poc-polkit-improper-handling-of-user-with-uid-int_max-leading-to-authentication-bypass/ ซึ่งมีผลกระทบกับ PolicyKit เวอร์ชั่น 0.115 ซึ่งถูกติดตั้งอยู่ในลีนุกซ์ รวมไปถึง Red Hat, Debian, Ubuntu, และ CentOS ช่องโหว่นี้เกิดจากคำขออนุญาตในการตรวจสอบสิทธิ์ของ PolicyKit สำหรับ UID ของผู้ใช้ที่มากกว่า INT_MAX ซึ่งมีสิทธิ์การเข้าถึงต่ำ ถ้าหากมีค่า UID ของผู้ใช้คนใดสูงกว่าค่า INT_MAX โปรแกรม PolicyKit จะอนุญาตให้ผู้ใช้นั้นสามารถทำการรันคำสั่งใน systemctl ได้ สำหรับ INT_MAX นั้นเป็นค่าคงที่ใช้ในการเขียนโปรแกรมคอมพิวเตอร์มีค่าตัวแปรเป็นแบบจำนวนเต็ม ค่าสูงสุดของตัวแปรนี้จะเท่ากับ 2147483647 (แปลงเป็นเลขฐาน 16 จะเท่ากับ 0x7FFFFFFF) ส่วน PolicyKit หรือที่รู้จักกันในชื่อว่า polkit เป็นเครื่องมือที่อยู่ในระดับแอพพลิเคชั่น สำหรับระบบปฏิบัติการยูนิกซ์ ทำหน้าที่เป็นตัวกำหนดนโยบาย จัดการสิทธิ์การเข้าถึงทั้งระบบและจัดการสิทธิ์การเข้าถึงของสิทธิ์ที่ไม่ได้รับอนุญาตในการติดต่อสื่อสารกับผู้ที่ได้รับสิทธิ์ ยกตัวอย่างเช่น “sudo” ที่ไม่ได้ให้สิทธิ์ในการเข้าถึงระบบทั้งหมดแก่ root ในตอนนี้ ทาง Rich Mirch ได้ออกมาพิสูจน์ถึงวิธีการทำงานของช่องโหว่นี้แล้ว ซึ่งต้องใช้ UID กว่า 4000000000 เลยทีเดียว สำหรับวิธีการสามารถดูได้ที่ https://github.com/mirchr/security-research/blob/master/vulnerabilities/CVE-2018-19788.sh สำหรับวิธีการแก้ไข ในตอนนี้ยังไม่มีแพทช์เพื่ออุดช่องโหว่นี้ แนะนำให้ผู้ดูแลระบบควรตั้งค่าไม่ให้ผู้ใช้ UID หรือ UID ของผู้ใช้ที่มากกว่า 2147483646 ได้รับสิทธิ์การเข้าถึง
ที่มา : The Hacker News
สนใจติดตามข่าวสารกับทางโฮสอะตอมได้ที่ hostatom.com