ช่องโหว่นี้อยู่ที่ความสามารถของผู้โจมตีจากระยะไกลในการเข้าถึงไดเรกทอรีภายนอกไดเรกทอรีที่ส่งออก NFS โดยการเรียก READDIRPLUS บนไดเรกทอรีส่งออก .. root
ช่องโหว่นี้ได้รับการแก้ไขแล้วในเคอร์เนล 23 ซึ่งเปิดตัวเมื่อวันที่ 5.10.10 มกราคม รวมถึงเคอร์เนลเวอร์ชันอื่นๆ ที่รองรับทั้งหมดที่อัปเดตในวันนั้น:
commit fdcaa4af5e70e2d984c9620a09e9dade067f2620
ผู้เขียน: เจ. บรูซ ฟิลด์ส[ป้องกันอีเมล]>
วันที่: จันทร์ที่ 11 มกราคม 16:01:29 น. 2021 -0500 น
nfsd4: readdirplus ไม่ควรส่งคืนพาเรนต์ของการส่งออก
commit 51b2ee7d006a736a9126e8111d1f24e4fd0afaa6 upstream.
หากคุณส่งออกไดเรกทอรีย่อยของระบบไฟล์ READDIRPLUS บนรูท
ของการส่งออกนั้นจะส่งคืนตัวจัดการไฟล์ของพาเรนต์ด้วย ".."
การเข้า
filehandle เป็นทางเลือก ดังนั้นอย่าส่งคืน filehandle เลย
".." ถ้าเราเป็นรากฐานของการส่งออก
โปรดทราบว่าเมื่อลูกค้าเรียนรู้การจัดการไฟล์หนึ่งรายการนอกเหนือจากการส่งออก
พวกเขาสามารถเข้าถึงส่วนที่เหลือของการส่งออกได้เล็กน้อยโดยใช้การค้นหาเพิ่มเติม
อย่างไรก็ตาม การคาดเดาการจัดการไฟล์ภายนอกก็ไม่ใช่เรื่องยากเช่นกัน
การส่งออก ดังนั้นควรส่งออกไดเรกทอรีย่อยของระบบไฟล์
ถือว่าเทียบเท่ากับการให้การเข้าถึงระบบไฟล์ทั้งหมด ถึง
หลีกเลี่ยงความสับสน เราขอแนะนำให้ส่งออกเฉพาะระบบไฟล์ทั้งหมดเท่านั้น
รายงานโดย: Youjipeng[ป้องกันอีเมล]>
ลงนามโดย: เจ. บรูซ ฟิลด์ส[ป้องกันอีเมล]>
สำเนา: [ป้องกันอีเมล]
ลงนามโดย: ชัค ลีเวอร์[ป้องกันอีเมล]>
ลงนามโดย: เกร็ก โครอาห์-ฮาร์ทแมน[ป้องกันอีเมล]>
ที่มา: linux.org.ru