เลือกรุ่นเซิร์ฟเวอร์ Xorg X11 มีช่องโหว่ในการใช้ประโยชน์จากการเพิ่มสิทธิ์การใช้งาน OpenBSD และ CentOS ที่ได้รับผลกระทบ

ความปลอดภัย / เลือกรุ่นเซิร์ฟเวอร์ Xorg X11 มีช่องโหว่ในการใช้ประโยชน์จากการเพิ่มสิทธิ์การใช้งาน OpenBSD และ CentOS ที่ได้รับผลกระทบ อ่าน 1 นาที

โครงการ OpenBSD



Xorg เป็นระบบ X window ที่มีชื่อเสียงมากซึ่งใช้ใน Linux เป็นอินเทอร์เฟซผู้ใช้แบบกราฟิกที่ใช้มาตรฐาน X11 ซึ่งจะเป็นโปรโตคอลการสื่อสาร Xorg ถูกแยกออกจากโครงการ XFree86 ซึ่งไม่ได้อยู่ในระหว่างการพัฒนาอีกต่อไป

การใช้ประโยชน์จากการยกระดับสิทธิ์

เซิร์ฟเวอร์ Xorg X11 ทุกเวอร์ชันตั้งแต่ 1.19.0 ถึง 1.20.3 มีความเสี่ยงที่จะมีข้อบกพร่องในการตรวจสอบสิทธิ์ซึ่งมีอยู่สำหรับตัวเลือก -modulepath และ -logfile สิ่งนี้ช่วยให้ผู้ใช้ที่ไม่มีสิทธิได้รับความสามารถในการเริ่มต้นเซิร์ฟเวอร์เพื่อเรียกใช้รหัสโดยพลการด้วยสิทธิ์ที่สูงขึ้น



นักวิจัยพบว่าการเรียกใช้สคริปต์ CRON ด้วยช่องโหว่ที่โหลดทำให้ SELinux บังคับใช้ ไฟล์สำรอง crontab.old ถูกสร้างขึ้นซึ่งโดยพื้นฐานแล้วจะถูกแทนที่ด้วยโมดูล Metasploit ด้วยไฟล์ใหม่พร้อมคำสั่งและคำสั่งเพื่อให้ cron daemon ดำเนินการ การหาประโยชน์ที่ล้มเหลวอาจส่งผลให้ crontab เสียหาย Xorg ยังต้องมีสิทธิ์ SUID เพื่อให้การใช้ประโยชน์สามารถทำงานได้ซึ่งคุณสามารถตรวจสอบได้จากข้อมูลโค้ดด้านล่าง



# ลินุกซ์ตรวจสอบ
uname = cmd_exec“ uname”
ถ้า uname = ~ / linux / i
vprint_status“ การเรียกใช้การตรวจสอบเพิ่มเติมสำหรับ Linux”
ถ้า datastore ['ConsoleLock'] user = cmd_exec“ id -un”
เว้นแต่จะมีอยู่? “ / var / run / console / # {user}”
vprint_error“ ไม่มีคอนโซลล็อกสำหรับ # {user}”
ส่งคืน CheckCode :: ปลอดภัย
จบ
vprint_good“ ล็อคคอนโซลสำหรับ # {user}”
จบ
ถ้า selinux_installed?
ถ้า selinux_enforcing?
vprint_error 'Selinux กำลังบังคับใช้'
ส่งคืน CheckCode :: ปลอดภัย
จบ
จบ
vprint_good“ Selinux ไม่ใช่ปัญหา”
จบ

# ตรวจสอบโปรแกรม suid
xorg_path = cmd_exec“ คำสั่ง -v Xorg”
ยกเว้น xorg_path.include? (“ Xorg”)
vprint_error“ ไม่พบปฏิบัติการ Xorg”
ส่งคืน CheckCode :: ปลอดภัย
จบ
vprint_good“ พบเส้นทาง Xorg ที่ # {xorg_path}”
เว้นแต่ setuid? xorg_path
vprint_error“ Xorg binary # {xorg_path} ไม่ใช่ SUID”
ส่งคืน CheckCode :: ปลอดภัย
จบ
vprint_good“ Xorg binary # {xorg_path} คือ SUID”

วิธีการทดสอบ

การหาประโยชน์นี้ดำเนินการโดยนักวิจัยสี่คน -

  • Narendra Shinde - การค้นพบและใช้ประโยชน์
  • Raptor-0xdea - ดัดแปลงการใช้ประโยชน์สำหรับ cron
  • Aaron Ringo - โมดูล Metasploit
  • Brendan Coles - โมดูล Metasploit

สิ่งนี้ได้รับการทดสอบบน OpenBSD 6.3, 6.4 และ CentOS 7 (1708) ตามหมายเหตุใน Packetstorm CentOS ที่มีการติดตั้งเริ่มต้นจะต้องมีการตรวจสอบคอนโซลสำหรับเซสชันของผู้ใช้

นี่เป็นช่องโหว่ที่ร้ายแรงตามระดับการใช้งานของ Xorg แม้ว่าการใช้ประโยชน์จะต้องการการตั้งค่าล่วงหน้าบางอย่างในการทำงานซึ่งอาจไม่มีอยู่ในสภาพแวดล้อมแบบมืออาชีพ

แท็ก CentOS OpenBSD Xorg