ความเป็นไปได้ที่จะหลีกเลี่ยงการห้ามการโหลดโมดูลเคอร์เนลที่ใช้ในกฎ SELinux เป้าหมายบนอุปกรณ์ตัวใดตัวหนึ่งที่ศึกษาได้แสดงให้เห็นแล้ว (ไม่ได้ระบุว่าอุปกรณ์ใดที่เรากำลังพูดถึงและปัญหาส่งผลกระทบต่อกฎ SELinux ในเฟิร์มแวร์และการแจกแจงมากน้อยเพียงใด) การบล็อกโมดูลในกฎ SELinux ที่เกี่ยวข้องนั้นขึ้นอยู่กับการจำกัดการเข้าถึงการเรียกระบบ finit_module ซึ่งอนุญาตให้โหลดโมดูลจากไฟล์และใช้ในยูทิลิตี้เช่น insmod อย่างไรก็ตาม กฎ SELinux ไม่ได้พิจารณาการเรียกของระบบ init_module ซึ่งสามารถใช้เพื่อโหลดโมดูลเคอร์เนลได้โดยตรงจากบัฟเฟอร์ในหน่วยความจำ
เพื่อสาธิตวิธีการดังกล่าว เราได้เตรียมช่องโหว่ต้นแบบที่ช่วยให้คุณสามารถรันโค้ดในระดับเคอร์เนลได้โดยการโหลดโมดูลของคุณและปิดใช้งานการป้องกัน SELinux โดยสมบูรณ์ หากคุณมีสิทธิ์เข้าถึงระดับรูทไปยังระบบที่ถูกจำกัดโดย SELinux
ที่มา: opennet.ru