อีกครั้ง ... พวกเขาพบช่องโหว่อื่นในระบบย่อย eBPF

ล่าสุดมีข่าวออกมาว่า พบช่องโหว่ใหม่ (อยู่ภายใต้ CVE-2021-4204 แล้ว) ในระบบย่อย eBPF (เพื่อการเปลี่ยนแปลง) ...

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

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

ในคำอธิบายปัญหาเค้าบอกว่า ช่องโหว่เกิดจากการสแกนโปรแกรม eBPF ที่ส่งเพื่อดำเนินการไม่ถูกต้องเนื่องจากระบบย่อย eBPF มีฟังก์ชันเสริม ความถูกต้องจึงถูกตรวจสอบโดยผู้ตรวจสอบพิเศษ

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

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

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

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

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

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

เช่น กล่าวได้ว่าจุดอ่อน สามารถใช้ประโยชน์ได้ในการกำหนดค่าเริ่มต้นใน การกระจายที่ยังคงค่อนข้างใช้และเหนือสิ่งอื่นใดเป็นที่นิยมอย่างมากตามที่เป็นอยู่ Ubuntu 20.04 LTS แต่ในสภาพแวดล้อมเช่น Ubuntu 22.04-dev, Debian 11, openSUSE 15.3, RHEL 8.5, SUSE 15-SP4 และ Fedora 33 จะปรากฏเฉพาะเมื่อผู้ดูแลระบบตั้งค่าพารามิเตอร์ kernel.unprivileged_bpf_disabled เป็น 0

ในปัจจุบัน เพื่อเป็นการแก้ปัญหาชั่วคราวเพื่อบล็อกช่องโหว่ มีการกล่าวถึงว่าผู้ใช้ที่ไม่มีสิทธิพิเศษสามารถป้องกันจากการรันโปรแกรม BPF ได้โดยการรันคำสั่งในเทอร์มินัล:

sysctl -w kernel.unprivileged_bpf_disabled=1

ในที่สุดก็ควรจะกล่าวถึงว่า ปัญหาปรากฏขึ้นตั้งแต่เคอร์เนล Linux 5.8 และยังไม่ได้รับการแก้ไข (รวมถึงเวอร์ชัน 5.16) และนั่นคือเหตุผล รหัสการหาประโยชน์จะล่าช้าเป็นเวลา 7 วัน และจะเผยแพร่เวลา 12:00 UTC นั่นคือวันที่ 18 มกราคม 2022

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

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

ถ้าคุณเป็น สนใจที่จะทราบข้อมูลเพิ่มเติมเกี่ยวกับเรื่องนี้ เกี่ยวกับหมายเหตุคุณสามารถดูข้อความเดิม ในลิงค์ต่อไปนี้.


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

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

*

*

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