ช่องโหว่ในโมดูล ksmbd เคอร์เนลของ Linux ที่อนุญาตให้เรียกใช้โค้ดจากระยะไกล

ในโมดูล ksmbd ซึ่งนำเสนอการใช้งานไฟล์เซิร์ฟเวอร์โดยใช้โปรโตคอล SMB ที่สร้างไว้ในเคอร์เนล Linux มีการระบุช่องโหว่ 14 รายการ โดยสี่ช่องโหว่อนุญาตให้หนึ่งรายการสามารถรันโค้ดจากระยะไกลด้วยสิทธิ์เคอร์เนลได้ การโจมตีสามารถทำได้โดยไม่ต้องมีการตรวจสอบสิทธิ์ เพียงเปิดใช้งานโมดูล ksmbd บนระบบก็เพียงพอแล้ว ปัญหาปรากฏขึ้นโดยเริ่มจากเคอร์เนล 5.15 ซึ่งรวมถึงโมดูล ksmbd ด้วย ช่องโหว่ได้รับการแก้ไขแล้วในการอัพเดตเคอร์เนล 6.3.2, 6.2.15, 6.1.28 และ 5.15.112 คุณสามารถติดตามการแก้ไขในการแจกแจงในหน้าต่อไปนี้: Debian, Ubuntu, Gentoo, RHEL, SUSE, Fedora, Gentoo, Arch

ปัญหาที่ระบุ:

  • CVE-2023-32254, CVE-2023-32250, CVE-2023-32257, CVE-2023-32258 - การเรียกใช้โค้ดจากระยะไกลด้วยสิทธิ์เคอร์เนลเนื่องจากไม่มีการล็อกวัตถุที่เหมาะสมเมื่อประมวลผลคำขอภายนอกที่มี SMB2_TREE_DISCONNECT, SMB2_SESSION_SETUP, SMB2_LOGOFF และ SMB2_CLOSE ซึ่งส่งผลให้เกิดสภาพการแข่งขันที่สามารถเอารัดเอาเปรียบได้ การโจมตีสามารถทำได้โดยไม่ต้องมีการตรวจสอบสิทธิ์
  • CVE-2023-32256 - การรั่วไหลของเนื้อหาในพื้นที่หน่วยความจำเคอร์เนลเนื่องจากสภาวะการแข่งขันระหว่างการประมวลผลคำสั่ง SMB2_QUERY_INFO และ SMB2_LOGOFF การโจมตีสามารถทำได้โดยไม่ต้องมีการตรวจสอบสิทธิ์
  • CVE-2023-32252, CVE-2023-32248 - การปฏิเสธการบริการระยะไกลเนื่องจากการอ้างอิงตัวชี้ NULL เมื่อประมวลผลคำสั่ง SMB2_LOGOFF, SMB2_TREE_CONNECT และ SMB2_QUERY_INFO การโจมตีสามารถทำได้โดยไม่ต้องมีการตรวจสอบสิทธิ์
  • CVE-2023-32249 - ความเป็นไปได้ของการไฮแจ็กเซสชันกับผู้ใช้เนื่องจากขาดการแยกที่เหมาะสมเมื่อจัดการ ID เซสชันในโหมดหลายช่องสัญญาณ
  • CVE-2023-32247, CVE-2023-32255 - การปฏิเสธการให้บริการเนื่องจากหน่วยความจำรั่วเมื่อประมวลผลคำสั่ง SMB2_SESSION_SETUP การโจมตีสามารถทำได้โดยไม่ต้องมีการตรวจสอบสิทธิ์
  • CVE-2023-2593 เป็นการปฏิเสธการบริการเนื่องจากหน่วยความจำที่มีอยู่ไม่เพียงพอ ซึ่งเกิดจากความล้มเหลวของหน่วยความจำเมื่อประมวลผลการเชื่อมต่อ TCP ใหม่ การโจมตีสามารถทำได้โดยไม่ต้องมีการตรวจสอบสิทธิ์
  • CVE-2023-32253 การปฏิเสธการบริการเนื่องจากการหยุดชะงักเกิดขึ้นเมื่อประมวลผลคำสั่ง SMB2_SESSION_SETUP การโจมตีสามารถทำได้โดยไม่ต้องมีการตรวจสอบสิทธิ์
  • CVE-2023-32251 - ขาดการป้องกันการโจมตีด้วยกำลังดุร้าย
  • CVE-2023-32246 ผู้ใช้ระบบโลคัลที่มีสิทธิ์ยกเลิกการโหลดโมดูล ksmbd สามารถดำเนินการโค้ดที่ระดับเคอร์เนล Linux

นอกจากนี้ ยังระบุช่องโหว่อีก 5 รายการในแพ็คเกจ ksmbd-tools ซึ่งรวมถึงยูทิลิตี้สำหรับการจัดการและทำงานกับ ksmbd ซึ่งดำเนินการในพื้นที่ผู้ใช้ ช่องโหว่ที่อันตรายที่สุด (ZDI-CAN-17822, ZDI-CAN-17770, ZDI-CAN-17820, CVE ยังไม่ได้กำหนด) ทำให้ผู้โจมตีระยะไกลที่ไม่ได้รับการรับรองความถูกต้องสามารถรันโค้ดของตนด้วยสิทธิ์รูทได้ ช่องโหว่เกิดจากการขาดการตรวจสอบขนาดของข้อมูลภายนอกที่ได้รับก่อนที่จะคัดลอกไปยังบัฟเฟอร์ในรหัสบริการ WKSSVC และในตัวจัดการ opcode LSARPC_OPNUM_LOOKUP_SID2 และ SAMR_OPNUM_QUERY_USER_INFO ช่องโหว่อีกสองช่องโหว่ (ZDI-CAN-17823, ZDI-CAN-17821) สามารถนำไปสู่การปฏิเสธบริการจากระยะไกลโดยไม่มีการตรวจสอบสิทธิ์

Ksmbd ได้รับการขนานนามว่าเป็นส่วนขยาย Samba ประสิทธิภาพสูงและพร้อมฝังตัว ซึ่งผสานรวมกับเครื่องมือและไลบรารีของ Samba ตามต้องการ มีการรองรับการรันเซิร์ฟเวอร์ SMB โดยใช้โมดูล ksmbd ในแพ็คเกจ Samba ตั้งแต่รีลีส 4.16.0 ต่างจากเซิร์ฟเวอร์ SMB ที่ทำงานในพื้นที่ผู้ใช้ ksmbd มีประสิทธิภาพมากกว่าในแง่ของประสิทธิภาพ การใช้หน่วยความจำ และการผสานรวมกับความสามารถของเคอร์เนลขั้นสูง ksmbd เขียนโค้ดโดย Namjae Jeon จาก Samsung และ Hyunchul Lee จาก LG และดูแลรักษาให้เป็นส่วนหนึ่งของเคอร์เนล โดย Steve French แห่ง Microsoft ผู้ดูแลระบบย่อย CIFS/SMB2/SMB3 ในเคอร์เนล Linux และสมาชิกทีมพัฒนา Samba มายาวนาน ได้มีส่วนสำคัญในการดำเนินการสนับสนุนโปรโตคอล SMB/CIFS ใน Samba และ ลินุกซ์.

นอกจากนี้ ยังสามารถระบุช่องโหว่สองรายการในไดรเวอร์กราฟิก vmwgfx ซึ่งใช้ในการเร่งความเร็ว 3D ในสภาพแวดล้อม VMware ช่องโหว่แรก (ZDI-CAN-20292) ช่วยให้ผู้ใช้ภายในเครื่องสามารถเพิ่มสิทธิ์ในระบบได้ ช่องโหว่นี้เกิดจากการขาดการตรวจสอบสถานะของบัฟเฟอร์ก่อนที่จะปล่อยบัฟเฟอร์เมื่อประมวลผล vmw_buffer_object ซึ่งอาจนำไปสู่การเรียกสองครั้งไปยังฟังก์ชันอิสระ ช่องโหว่ที่สอง (ZDI-CAN-20110) นำไปสู่การรั่วไหลของเนื้อหาหน่วยความจำเคอร์เนลเนื่องจากข้อผิดพลาดในการจัดระเบียบการล็อควัตถุ GEM

ที่มา: opennet.ru

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