ช่องโหว่ที่สามารถหาประโยชน์ได้จากระยะไกลในไดรเวอร์ NVMe-oF/TCP จากเคอร์เนล Linux

พบช่องโหว่ (CVE-2023-5178) ในระบบย่อย nvmet-tcp (NVMe-oF/TCP) ของ Linux ซึ่งอนุญาตให้เข้าถึงไดรฟ์ NVMe ผ่านเครือข่าย (NVM Express over Fabrics) โดยใช้โปรโตคอล TCP ช่องโหว่นี้อาจทำให้สามารถเรียกใช้โค้ดจากระยะไกลในระดับเคอร์เนล หรือหากเข้าถึงในระดับท้องถิ่น อาจทำให้สามารถยกระดับสิทธิ์ในระบบได้ ปัจจุบันมีวิธีแก้ไขในรูปแบบแพทช์แล้ว ปัญหานี้มีมาตั้งแต่เวอร์ชันแรกสุดของไดรเวอร์ NVMe-oF/TCP (รายงานช่องโหว่กล่าวถึงเคอร์เนล Linux 5.15 แต่การสนับสนุน NVMe-oF/TCP ถูกเพิ่มเข้ามาในเคอร์เนล 5.0) ระบบที่เปิดใช้งาน NVMe-oF/TCP จะมีความเสี่ยงต่อช่องโหว่นี้ เซิร์ฟเวอร์ NVMe-oF/TCP (NVME_TARGET_TCP) ซึ่งโดยค่าเริ่มต้นจะยอมรับการเชื่อมต่อบนพอร์ตเครือข่าย 4420

ช่องโหว่นี้เกิดจากข้อผิดพลาดเชิงตรรกะ เนื่องจากการเรียกใช้ฟังก์ชัน nvmet_tcp_free_crypto สองครั้ง และปล่อยพอยน์เตอร์บางตัวออกสองครั้ง และยังยกเลิกการอ้างอิงที่อยู่ที่ถูกปล่อยด้วย ลักษณะการทำงานนี้นำไปสู่การเข้าถึงพื้นที่หน่วยความจำที่ว่างอยู่แล้ว (ใช้งานฟรี) และการเพิ่มหน่วยความจำสองเท่า (ฟรีสองเท่า) เมื่อเซิร์ฟเวอร์ NVMe-oF/TCP ประมวลผลข้อความที่จัดรูปแบบพิเศษจากไคลเอนต์ ซึ่งสามารถระบุตำแหน่งได้ทั้ง ในเครือข่ายท้องถิ่นและระดับโลก

ที่มา: opennet.ru

เพิ่มความคิดเห็น