สามปีหลังจากคลื่นแห่งความเปราะบาง (
การสร้างซ็อกเก็ต AF_PACKET และการหาช่องโหว่ต้องใช้สิทธิ์ CAP_NET_RAW อย่างไรก็ตาม ผู้ใช้ที่ไม่มีสิทธิ์สามารถรับสิทธิ์ที่ระบุได้ในคอนเทนเนอร์ที่สร้างขึ้นบนระบบที่เปิดใช้งานการรองรับเนมสเปซของผู้ใช้ ตัวอย่างเช่น เนมสเปซของผู้ใช้จะเปิดใช้งานตามค่าเริ่มต้นบน Ubuntu และ Fedora แต่ไม่ได้เปิดใช้งานบน Debian และ RHEL บน Android กระบวนการมีเดียเซิร์ฟเวอร์มีสิทธิ์สร้างซ็อกเก็ต AF_PACKET ซึ่งสามารถใช้ประโยชน์จากช่องโหว่ได้
ช่องโหว่นี้มีอยู่ในฟังก์ชัน tpacket_rcv และเกิดจากข้อผิดพลาดในการคำนวณตัวแปร netoff ผู้โจมตีสามารถสร้างเงื่อนไขที่ตัวแปร netoff ถูกเขียนเป็นค่าน้อยกว่าตัวแปร maclen ซึ่งจะทำให้เกิดการโอเวอร์โฟลว์เมื่อคำนวณ "macoff = netoff - maclen" และต่อมาตั้งค่าตัวชี้ไปยังบัฟเฟอร์สำหรับข้อมูลขาเข้าอย่างไม่ถูกต้อง เป็นผลให้ผู้โจมตีสามารถเริ่มต้นการเขียนจาก 1 ถึง 10 ไบต์ไปยังพื้นที่นอกขอบเขตของบัฟเฟอร์ที่จัดสรร มีข้อสังเกตว่ามีการพัฒนาช่องโหว่ที่ช่วยให้คุณได้รับสิทธิ์รูทในระบบ
ปัญหาเกิดขึ้นในเคอร์เนลตั้งแต่เดือนกรกฎาคม 2008 เช่น ปรากฏอยู่ในนิวเคลียสที่แท้จริงทั้งหมด ขณะนี้การแก้ไขพร้อมใช้งานเป็น
ที่มา: opennet.ru