มีการระบุและแก้ไขช่องโหว่ที่สำคัญในการใช้งาน NFS แล้ว

ช่องโหว่นี้อยู่ที่ความสามารถของผู้โจมตีจากระยะไกลในการเข้าถึงไดเรกทอรีภายนอกไดเรกทอรีที่ส่งออก 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