ช่องโหว่ในระบบย่อยเคอร์เนล Linux ของ USB Gadget ซึ่งอาจทำให้เกิดการเรียกใช้โค้ดได้

มีการระบุช่องโหว่ (CVE-2021-39685) ใน USB Gadget ซึ่งเป็นระบบย่อยของเคอร์เนล Linux ที่ให้อินเทอร์เฟซการเขียนโปรแกรมสำหรับการสร้างอุปกรณ์ไคลเอนต์ USB และการจำลองซอฟต์แวร์ของอุปกรณ์ USB ที่อาจนำไปสู่การรั่วไหลของเคอร์เนล ขัดข้อง หรือ การรันโค้ดโดยพลการที่เคอร์เนล การโจมตีนี้ดำเนินการโดยผู้ใช้ในพื้นที่ที่ไม่มีสิทธิพิเศษผ่านการจัดการคลาสอุปกรณ์ต่างๆ ที่ใช้งานบนพื้นฐานของ USB Gadget API เช่น rndis, hid, uac1, uac1_legacy และ uac2

ปัญหานี้ได้รับการแก้ไขแล้วในการอัปเดตเคอร์เนล Linux 5.15.8, 5.10.85, 5.4.165, 4.19.221, 4.14.258, 4.9.293 และ 4.4.295 ที่เผยแพร่เมื่อเร็วๆ นี้ ในการแจกแจง ปัญหายังคงไม่ได้รับการแก้ไข (Debian, Ubuntu, RHEL, SUSE, Fedora, Arch) มีการเตรียมต้นแบบการหาประโยชน์เพื่อแสดงให้เห็นถึงช่องโหว่

ปัญหามีสาเหตุมาจากบัฟเฟอร์ล้นในตัวจัดการคำขอถ่ายโอนข้อมูลในไดรเวอร์ rndis, hid, uac1, uac1_legacy และ uac2 Gadget ผลจากการใช้ประโยชน์จากช่องโหว่นี้ ผู้โจมตีที่ไม่มีสิทธิ์สามารถเข้าถึงหน่วยความจำเคอร์เนลได้โดยการส่งคำขอควบคุมพิเศษพร้อมค่าฟิลด์ wLength ที่เกินขนาดของบัฟเฟอร์แบบคงที่ ซึ่งจะมีการจัดสรร 4096 ไบต์เสมอ (USB_COMP_EP0_BUFSIZ) ในระหว่างการโจมตี กระบวนการพื้นที่ผู้ใช้ที่ไม่มีสิทธิพิเศษสามารถอ่านหรือเขียนข้อมูลได้ถึง 65 KB ลงในหน่วยความจำเคอร์เนล

ที่มา: opennet.ru

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