นักวิจัยด้านความปลอดภัยจาก Google ค้นพบช่องโหว่ในเคอร์เนลของระบบ Linux มีช่องโหว่การยกระดับสิทธิ์ (CVE-2025-38236) อยู่ ช่องโหว่นี้ทำให้สามารถหลีกเลี่ยงกลไกการแยกแซนด์บ็อกซ์ที่ใช้ใน Google Chrome และเข้าถึงการเรียกใช้โค้ดระดับเคอร์เนลได้เมื่อเรียกใช้โค้ดในบริบทของกระบวนการเรนเดอร์แบบแซนด์บ็อกซ์ของ Chrome (ตัวอย่างเช่น โดยการใช้ประโยชน์จากช่องโหว่อื่นใน Chrome) ปัญหาจะเริ่มปรากฏให้เห็นตั้งแต่ระดับเคอร์เนลเป็นต้นไป Linux 6.9 และแก้ไขแล้วในการอัปเดตเคอร์เนล Linux เวอร์ชัน 6.1.143, 6.6.96, 6.12.36 และ 6.15.5 สามารถดาวน์โหลดต้นแบบช่องโหว่ได้
ช่องโหว่นี้เกิดจากข้อผิดพลาดในการใช้งานแฟล็ก MSG_OOB ซึ่งสามารถตั้งค่าได้สำหรับซ็อกเก็ต AF_UNIX แฟล็ก MSG_OOB ("out-of-band") อนุญาตให้เพิ่มไบต์พิเศษเข้าไปในข้อมูลที่ส่ง ซึ่งผู้รับสามารถอ่านได้ก่อนที่จะได้รับข้อมูลส่วนที่เหลือ แฟล็กนี้ถูกเพิ่มเข้าไปในเคอร์เนลแล้ว Linux เวอร์ชัน 5.15 ได้รับการร้องขอจาก Oracle และถูกเสนอให้ยกเลิกการใช้งานเมื่อปีที่แล้ว เนื่องจากไม่ได้รับการใช้งานอย่างแพร่หลาย
การใช้งานแซนด์บ็อกซ์ของ Chrome อนุญาตให้มีการดำเนินการซ็อกเก็ต UNIX และการเรียกใช้ระบบ send()/recv() โดยอนุญาตให้ใช้แฟล็ก MSG_OOB พร้อมกับตัวเลือกอื่นๆ และไม่ได้ถูกกรองแยกต่างหาก ข้อผิดพลาดในการใช้งาน MSG_OOB ทำให้เงื่อนไขการใช้งานหลังจากปลดปล่อยเกิดขึ้นหลังจากเรียกใช้ระบบตามลำดับที่กำหนด: char dummy; int socks[2]; socketpair(AF_UNIX, SOCK_STREAM, 0, socks); send(socks[1], "A", 1, MSG_OOB); recv(socks[0], &dummy, 1, MSG_OOB); send(socks[1], "A", 1, MSG_OOB); recv(socks[0], &dummy, 1, MSG_OOB); send(socks[1], "A", 1, MSG_OOB); recv(ถุงเท้า[0], &dummy, 1, 0); recv(ถุงเท้า[0], &dummy, 1, MSG_OOB);
ที่มา: opennet.ru
