ตรวจพบช่องโหว่ XNUMX รายการใน Linux Kernel ซึ่งยังคงอนุญาตให้ผู้ใช้ยกระดับสิทธิ์ของตนได้ 

ความอ่อนแอ

หากถูกโจมตี ข้อบกพร่องเหล่านี้อาจทำให้ผู้โจมตีเข้าถึงข้อมูลที่ละเอียดอ่อนโดยไม่ได้รับอนุญาต หรือก่อให้เกิดปัญหาโดยทั่วไป

เมื่อไม่กี่วันก่อนมีข่าวออกมาว่า ตรวจพบช่องโหว่ XNUMX รายการใน ระบบย่อยของ เคอร์เนลลินุกซ์, Netfilter และ io_uring ซึ่งอนุญาตให้ผู้ใช้ภายในเพิ่มสิทธิ์ในระบบ

ประการแรกคือความเปราะบาง (CVE-2023-32233) ที่ตรวจพบในระบบย่อย Netfilter และเกิดจากการเข้าถึงหน่วยความจำหลังจากใช้งานฟรีในโมดูล nf_tables ซึ่งรับประกันการทำงานของตัวกรองแพ็กเก็ต nftables

ข้อบกพร่องนี้เป็นเพราะ netfilter nf_tables อนุญาตให้อัปเดตการกำหนดค่าได้ สำหรับคำขอแบบกลุ่มที่จัดกลุ่มเข้าด้วยกัน การดำเนินการพื้นฐานหลายอย่าง ในการทำธุรกรรมปรมาณู

ปัญหา ได้รับการทำซ้ำในเคอร์เนล Linux เวอร์ชันต่างๆ รวมถึง Linux 6.3.1 (เสถียรในปัจจุบัน) และช่องโหว่นี้สามารถใช้ประโยชน์ได้โดยส่งคำขอที่สร้างขึ้นเป็นพิเศษเพื่ออัปเดตการกำหนดค่า nftables มีการกล่าวถึงว่าการโจมตีต้องการการเข้าถึง nftable ซึ่งสามารถได้รับในเนมสเปซเครือข่ายแยกต่างหากหากคุณมีสิทธิ์ CLONE_NEWUSER, CLONE_NEWNS หรือ CLONE_NEWNET (ตัวอย่างเช่น หากคุณสามารถเรียกใช้คอนเทนเนอร์แยก)

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

ในสถานการณ์เฉพาะ คำขอแบทช์ที่ไม่ถูกต้องอาจมีการดำเนินการที่ลบชุด nft นิรนามที่มีอยู่โดยนัย ตามด้วยการดำเนินการอื่นที่พยายามดำเนินการกับชุด nft นิรนามเดียวกันหลังจากที่ถูกลบ ในสถานการณ์ข้างต้น ตัวอย่างของการดำเนินการข้างต้นคือการลบกฎ nft ที่มีอยู่ซึ่งใช้ชุดที่ไม่ระบุชื่อ nft และตัวอย่างของการดำเนินการหลังคือความพยายามที่จะลบองค์ประกอบออกจากอาร์เรย์นิรนาม nft นั้น หลังจากที่อาร์เรย์ถูกลบแบบสลับกัน การดำเนินการหลังอาจพยายามลบอาร์เรย์ที่ไม่ระบุชื่อ nft อย่างชัดเจนอีกครั้ง 

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

ตรวจพบข้อผิดพลาดที่สอง เป็นช่องโหว่ (CVE-2023-2598) ใน การใช้งานอินเตอร์เฟส I/O แบบอะซิงโครนัส io_ing รวมอยู่ในเคอร์เนล Linux ตั้งแต่เวอร์ชัน 5.1

ปัญหาเกิดจากข้อบกพร่องในฟังก์ชัน io_sqe_buffer_register ซึ่งอนุญาตให้เข้าถึงหน่วยความจำกายภาพนอกขอบเขตของบัฟเฟอร์ที่จัดสรรแบบคงที่ ปัญหาจะปรากฏเฉพาะในสาขา 6.3 และจะได้รับการแก้ไขในการอัปเดต 6.3.2 ถัดไป

มีการกล่าวถึงแนวคิดเบื้องหลังการคอมมิตดั้งเดิมคือ แทนที่จะแยกเพจขนาดใหญ่ที่บัฟเฟอร์เป็นรายการ bvec แต่ละรายการ คุณสามารถมีรายการ bvec รายการเดียวสำหรับส่วนที่ถูกบัฟเฟอร์ทั้งหมดของเพจ โดยเฉพาะอย่างยิ่ง ถ้าทุกหน้าในบัฟเฟอร์แม็พใช้โครงสร้างหน้าแรกและความยาวของบัฟเฟอร์ในรายการ bvec เดียวแทนการแมปแต่ละหน้าทีละรายการ

ดังนั้น bvec จะขยายออกไปเกินกว่าหน้าเดียวที่อนุญาตให้สัมผัสได้จริง ต่อมา IORING_OP_READ_FIXED และ IORING_OP_WRITE_FIXED ช่วยให้เราสามารถอ่านและเขียนไปยังบัฟเฟอร์ (เช่น หน่วยความจำที่ bvec ชี้ไป) ได้ตามต้องการ สิ่งนี้อนุญาตให้เข้าถึงการอ่าน / เขียนไปยังหน่วยความจำกายภาพที่อยู่ด้านหลังเพจเดียวที่เรามี

สิ่งพิมพ์เกี่ยวกับช่องโหว่กล่าวถึงขั้นตอนการสร้างข้อผิดพลาด:

1. สร้าง memfd
2. เกิดข้อผิดพลาดหน้าเดียวในตัวอธิบายไฟล์นั้น
3. ใช้ MAP_FIXED เพื่อแมปหน้านี้ซ้ำๆ ไปยังตำแหน่งที่ต่อเนื่องกัน
4. ลงทะเบียนทั้งภูมิภาคที่คุณเพิ่งกรอกด้วยหน้านั้นเป็น
บัฟเฟอร์คงที่ด้วย IORING_REGISTER_BUFFERS
5. ใช้ IORING_OP_WRITE_FIXED เพื่อเขียนบัฟเฟอร์ไปยังไฟล์อื่น
(อ่าน OOB) หรือ IORING_OP_READ_FIXED เพื่ออ่านข้อมูลในบัฟเฟอร์ (
OOB เขียน).

สุดท้ายเป็นมูลค่าการกล่าวขวัญว่า มีอยู่แล้ว  ต้นแบบการหาประโยชน์จากการทำงาน (CVE-2023-2598) สำหรับการทดสอบ อนุญาตให้คุณรันโค้ดด้วยสิทธิพิเศษของเคอร์เนล

ช่องโหว่ (CVE-2023-32233) ได้รับการแก้ไขแล้วในการอัปเดต 6.4-rc และคุณสามารถติดตามการแก้ไขช่องโหว่ในการแจกจ่ายในเพจ: debianอูบุนตูGentooRHELFedoraSUSE/เปิดSUSEโค้ง.


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

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

*

*

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