ช่องโหว่ใน OverlayFS ทำให้เพิ่มระดับสิทธิ์ได้

ในเคอร์เนล Linux มีการระบุช่องโหว่ในการใช้งานระบบไฟล์ OverlayFS (CVE-2023-0386) ซึ่งสามารถใช้เพื่อเข้าถึงการเข้าถึงรูทบนระบบที่ติดตั้งระบบย่อย FUSE และอนุญาตให้ติดตั้งพาร์ติชัน OverlayFS โดย ผู้ใช้ที่ไม่มีสิทธิ์ (เริ่มต้นด้วยเคอร์เนล Linux 5.11 พร้อมด้วยการรวมเนมสเปซผู้ใช้ที่ไม่มีสิทธิ์) ปัญหาได้รับการแก้ไขแล้วในสาขาเคอร์เนล 6.2 สามารถติดตามการเผยแพร่การอัปเดตแพ็คเกจในการแจกแจงได้ที่หน้า: Debian, Ubuntu, Gentoo, RHEL, SUSE, Fedora, Arch

การโจมตีทำได้โดยการคัดลอกไฟล์ที่มีแฟล็ก setgid/setuid จากพาร์ติชันที่ติดตั้งในโหมด nosuid ไปยังพาร์ติชัน OverlayFS ที่มีเลเยอร์ที่เกี่ยวข้องกับพาร์ติชันที่อนุญาตให้เรียกใช้ไฟล์ suid ช่องโหว่นี้ใกล้เคียงกับปัญหา CVE-2021-3847 ที่ระบุในปี 2021 แต่มีข้อกำหนดในการใช้ประโยชน์ที่ต่ำกว่า - ปัญหาเก่าจำเป็นต้องมีการจัดการ xattrs ซึ่งถูกจำกัดเมื่อใช้เนมสเปซของผู้ใช้ และปัญหาใหม่ใช้บิต setgid/setuid ซึ่ง ไม่ได้รับการจัดการเป็นพิเศษในเนมสเปซผู้ใช้

อัลกอริธึมการโจมตี:

  • เมื่อใช้ระบบย่อย FUSE ระบบไฟล์จะถูกเมาท์ ซึ่งมีไฟล์ปฏิบัติการที่เป็นของผู้ใช้รูทที่มีแฟล็ก setuid/setgid ซึ่งผู้ใช้ทุกคนสามารถเข้าถึงได้สำหรับการเขียน เมื่อติดตั้ง FUSE จะตั้งค่าโหมดเป็น "nosuid"
  • เนมสเปซผู้ใช้/เมานต์ไม่ได้รับการแชร์
  • OverlayFS ถูกเมาท์ โดยระบุ FS ที่สร้างไว้ก่อนหน้านี้ใน FUSE เป็นเลเยอร์ด้านล่างและเลเยอร์บนสุดตามไดเร็กทอรีที่เขียนได้ ไดเร็กทอรีชั้นบนสุดจะต้องอยู่ในระบบไฟล์ที่ไม่ได้ใช้แฟล็ก "nosuid" เมื่อทำการติดตั้ง
  • สำหรับไฟล์ suid ในพาร์ติชัน FUSE ยูทิลิตี้ระบบสัมผัสจะเปลี่ยนเวลาแก้ไข ซึ่งนำไปสู่การคัดลอกไปยังเลเยอร์บนสุดของ OverlayFS
  • เมื่อทำการคัดลอก เคอร์เนลจะไม่ล้างแฟล็ก setgid/setuid ซึ่งส่งผลให้ไฟล์ปรากฏในพาร์ติชันที่อนุญาตให้ประมวลผล setgid/setuid
  • หากต้องการรับสิทธิ์รูท เพียงเรียกใช้ไฟล์ด้วยแฟล็ก setgid/setuid จากไดเร็กทอรีที่แนบมากับเลเยอร์บนสุดของ OverlayFS

นอกจากนี้ เรายังสังเกตการเปิดเผยข้อมูลโดยนักวิจัยจากทีม Google Project Zero เกี่ยวกับช่องโหว่ 5.15 ช่องที่ได้รับการแก้ไขในสาขาหลักของเคอร์เนล Linux 8 แต่ไม่ได้ถ่ายโอนไปยังแพ็คเกจที่มีเคอร์เนลจาก RHEL 9.x/9 x และ CentOS สตรีม XNUMX

  • CVE-2023-1252 – เข้าถึงพื้นที่หน่วยความจำที่ว่างอยู่แล้วในโครงสร้าง ovl_aio_req เมื่อดำเนินการหลายอย่างพร้อมกันใน OverlayFS ที่ปรับใช้ที่ด้านบนของระบบไฟล์ Ext4 ช่องโหว่ดังกล่าวอาจทำให้คุณเพิ่มสิทธิ์ในระบบได้
  • CVE-2023-0590 - เข้าถึงหน่วยความจำที่ว่างแล้วในฟังก์ชัน qdisc_graft() การดำเนินการจะถือว่าจำกัดอยู่เพียงการสิ้นสุดที่ผิดปกติ
  • CVE-2023-1249 การเข้าถึงหน่วยความจำที่ว่างแล้วในโค้ดการเขียน coredump เกิดขึ้นเนื่องจากการเรียก mmap_lock ใน file_files_note ที่ไม่ได้รับ การดำเนินการจะถือว่าจำกัดอยู่เพียงการสิ้นสุดที่ผิดปกติ

ที่มา: opennet.ru

เพิ่มความคิดเห็น