พบช่วงโหว่ AWS SSM agent ทำให้สามารถยกระดับสิทธิ์เป็น root ได้

SSM Agent ใช้สำหรับจัดการ EC2 instance ผ่าน Amazon Systems Manager โดยช่องโหว่เกิดจากการสร้าง sudoers ไฟล์ของ SSM Agent ที่สามารถถูกเขียน หรืออ่านโดย user ใดก็ได้ ทำให้ผู้โจมตีสามารถ Inject Sudo rules แล้วทำการยกระดับสิทธ์เป็น root ได้ โดยช่องโหว่มีหมายเลข CVE-2022-29527 ซึ่งช่องโหว่นี้เป็นลักษณะ race condition ที่มีโอกาสเกิดขึ้นเมือมีการสร้าง SSM session แล้ว sudoers ไฟล์ไม่เคยถูกสร้างมาก่อน

รายละเอียดทางเทคนิค

ปกติแล้ว SSM agent จะถูก run ด้วยสิทธิ์ root และสร้าง sudoers ไฟล์ที่ ‘/etc/sudoers.d/ssm-agent-users’ ด้วย mode 0440 ทำให้ user root และ group root สามารถอ่านได้เท่านั้น

แต่ว่าในขั้นตอนการสร้าง sudoers ไฟล์จะถูกสร้างด้วยคำสั่ง `os.Create` ชึ้งคำสั่งนี้ในภาษา Go จะสร้างไฟล์เป็น mode 0666 โดย Default ทำให้ user ใด ๆ ก็สามารถเขียน หรืออ่าน sudoers ไฟล์ตัวนี้ได้ โดยหลังจากที่ SSM agent config ไฟล์เสร็จแล้วจึงจะเปลียน mode ไฟล์เป็น mode 0440

จึงทำให้มีโอกาสก่อนที่ sudoers ไฟล์จะถูกเปลี่ยนเป็น mode 0440 ผู้โจมตีจะสามารถแก้ไข้ sudoers ไฟล์ให้ user ใดก็ได้สามารถใช้ sudo ได้ หรือ sudo ได้โดยไม่ต้องใช้ password

วิธีการแก้ไข:

  • อัพเดท SSM agent เป็น version 3.1.1208.0 หรือใหม่กว่า

ที่มา :

bugzilla.suse

github

cve.mitre