ช่องโหว่ iSCSI ของเคอร์เนลลินุกซ์อนุญาตให้มีการยกระดับสิทธิ์

เมื่อเร็ว ๆ นี้ ข้อมูลสำคัญเกี่ยวกับ บัตรประจำตัวของ ช่องโหว่ (ระบุเป็น CVE-2021-27365) ในรหัสระบบย่อย iSCSI เคอร์เนลลินุกซ์ที่ อนุญาตให้ผู้ใช้โลคัลที่ไม่มีสิทธิพิเศษสามารถรันโค้ดที่ระดับเคอร์เนลและรับสิทธิ์รูทบนระบบ

ปัญหาเกิดจากจุดบกพร่องในโมดูล iscsi_host_get_param () ของ libiscsi ซึ่งเปิดตัวในปี 2006 ระหว่างการพัฒนาระบบย่อย iSCSI เนื่องจากไม่มีการควบคุมขนาดที่เหมาะสมแอตทริบิวต์สตริง iSCSI บางอย่างเช่นชื่อโฮสต์หรือชื่อผู้ใช้อาจเกินค่า PAGE_SIZE (4KB)

ช่องโหว่นี้อาจถูกใช้โดยการส่งข้อความ Netlink โดยผู้ใช้ที่ไม่มีสิทธิ์ซึ่งตั้งค่าแอตทริบิวต์ iSCSI เป็นค่าที่มากกว่า PAGE_SIZE เมื่ออ่านข้อมูลแอ็ตทริบิวต์ผ่าน sysfs หรือ seqfs โค้ดจะถูกเรียกให้ส่งต่อแอ็ตทริบิวต์ไปยัง sprintf เพื่อคัดลอกลงในบัฟเฟอร์ที่มีขนาด PAGE_SIZE

ระบบย่อยที่เป็นปัญหาคือการขนส่งข้อมูล SCSI (Small Computer System Interface) ซึ่งเป็นมาตรฐานสำหรับการถ่ายโอนข้อมูลที่สร้างขึ้นเพื่อเชื่อมต่อคอมพิวเตอร์กับอุปกรณ์ต่อพ่วงโดยเดิมผ่านสายเคเบิลทางกายภาพเช่นฮาร์ดไดรฟ์ SCSI เป็นมาตรฐานที่น่านับถือซึ่งตีพิมพ์ครั้งแรกในปี 1986 และเป็นมาตรฐานทองคำสำหรับการกำหนดค่าเซิร์ฟเวอร์และโดยทั่วไปแล้ว iSCSI นั้นเป็น SCSI ผ่าน TCP SCSI ยังคงใช้อยู่ในปัจจุบันโดยเฉพาะในสถานการณ์จัดเก็บข้อมูลบางอย่าง แต่สิ่งนี้จะกลายเป็นพื้นผิวการโจมตีบนระบบ Linux เริ่มต้นได้อย่างไร

ใช้ประโยชน์จากช่องโหว่ ในการแจกแจง ขึ้นอยู่กับการสนับสนุนสำหรับการโหลดอัตโนมัติของโมดูลเคอร์เนล scsi_transport_iscsi เมื่อพยายามสร้างซ็อกเก็ต NETLINK_ISCSI

ในการกระจายที่โมดูลนี้โหลดโดยอัตโนมัติการโจมตีสามารถทำได้ โดยไม่คำนึงถึงการใช้ฟังก์ชัน iSCSI ในขณะเดียวกันเพื่อให้การใช้ประโยชน์ประสบความสำเร็จจำเป็นต้องมีการลงทะเบียนการขนส่ง iSCSI อย่างน้อยหนึ่งรายการเพิ่มเติม ในทางกลับกันในการลงทะเบียนการขนส่งคุณสามารถใช้โมดูลเคอร์เนล ib_iser ซึ่งจะโหลดโดยอัตโนมัติเมื่อผู้ใช้ที่ไม่มีสิทธิ์พยายามสร้างซ็อกเก็ต NETLINK_RDMA

การโหลดโมดูลโดยอัตโนมัติที่จำเป็นในการใช้ประโยชน์ รองรับ CentOS 8, RHEL 8 และ Fedora โดยการติดตั้งแพ็คเกจ rdma-core บนระบบซึ่งเป็นการพึ่งพาสำหรับแพ็กเกจยอดนิยมบางแพ็กเกจและได้รับการติดตั้งโดยค่าเริ่มต้นในการกำหนดค่าสำหรับเวิร์กสเตชันระบบเซิร์ฟเวอร์ที่มี GUI และการจำลองเสมือนของสภาพแวดล้อมโฮสต์

ในขณะเดียวกันก็ไม่ได้ติดตั้ง rdma-core เมื่อใช้เซิร์ฟเวอร์บิลด์ที่ใช้งานได้ในโหมดคอนโซลเท่านั้นและเมื่อติดตั้งอิมเมจการติดตั้งขั้นต่ำ ตัวอย่างเช่นแพคเกจรวมอยู่ในการแจกจ่ายเวิร์กสเตชันพื้นฐานของ Fedora 31 แต่ไม่รวมอยู่ในเซิร์ฟเวอร์ Fedora 31

Debian และ Ubuntu มีปัญหาน้อยกว่าเนื่องจากแพ็กเกจ rdma-core จะโหลดเฉพาะโมดูลเคอร์เนลที่จำเป็นสำหรับการโจมตีหากฮาร์ดแวร์ RDMA พร้อมใช้งาน อย่างไรก็ตามแพ็คเกจ Ubuntu ฝั่งเซิร์ฟเวอร์มีแพ็คเกจ open-iscsi ซึ่งรวมถึงไฟล์ /lib/modules-load.d/open-iscsi.conf เพื่อให้แน่ใจว่าโมดูล iSCSI จะโหลดโดยอัตโนมัติทุกครั้งที่บูต

มีต้นแบบการทำงานของการใช้ประโยชน์สำหรับ ลองดูที่ลิงค์ด้านล่าง

ช่องโหว่ได้รับการแก้ไขในการอัปเดตเคอร์เนล Linux 5.11.4, 5.10.21, 5.4.103, 4.19.179, 4.14.224, 4.9.260 และ 4.4.260 การอัปเดตแพ็คเกจเคอร์เนลมีให้ใช้งานบน Debian (oldstable), Ubuntu, SUSE / openSUSE, Arch Linux และ Fedora ในขณะที่ RHEL ยังไม่มีการเผยแพร่การแก้ไข

นอกจากนี้ในระบบย่อย iSCSI ช่องโหว่ที่อันตรายน้อยกว่าสองรายการได้รับการแก้ไขแล้ว ที่อาจนำไปสู่การรั่วไหลของข้อมูลเคอร์เนล: CVE-2021-27363 (ข้อมูลรั่วไหลเกี่ยวกับตัวบอกการขนส่ง iSCSI ผ่าน sysfs) และ CVE-2021-27364 (การอ่านจากพื้นที่นอกขอบเขตบัฟเฟอร์)

ช่องโหว่เหล่านี้สามารถใช้เพื่อสื่อสารผ่านซ็อกเก็ตลิงก์เครือข่ายกับระบบย่อย iSCSI โดยไม่มีสิทธิ์ที่จำเป็น ตัวอย่างเช่นผู้ใช้ที่ไม่มีสิทธิ์สามารถเชื่อมต่อกับ iSCSI และส่งคำสั่งล็อกเอาต์

Fuente: https://blog.grimm-co.com


แสดงความคิดเห็นของคุณ

อีเมล์ของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องการถูกทำเครื่องหมายด้วย *

*

*

  1. รับผิดชอบข้อมูล: AB Internet Networks 2008 SL
  2. วัตถุประสงค์ของข้อมูล: ควบคุมสแปมการจัดการความคิดเห็น
  3. ถูกต้องตามกฎหมาย: ความยินยอมของคุณ
  4. การสื่อสารข้อมูล: ข้อมูลจะไม่ถูกสื่อสารไปยังบุคคลที่สามยกเว้นตามข้อผูกพันทางกฎหมาย
  5. การจัดเก็บข้อมูล: ฐานข้อมูลที่โฮสต์โดย Occentus Networks (EU)
  6. สิทธิ์: คุณสามารถ จำกัด กู้คืนและลบข้อมูลของคุณได้ตลอดเวลา