ช่องโหว่ในไดรเวอร์ OpenSSL, Glibc, util-linux, i915 และ vmwgfx

มีการเปิดเผยช่องโหว่ (CVE-2021-4160) ในไลบรารีการเข้ารหัส OpenSSL ซึ่งเกิดจากข้อผิดพลาดในการใช้งาน adder ในฟังก์ชัน BN_mod_exp ซึ่งนำไปสู่การส่งคืนผลลัพธ์ที่ไม่ถูกต้องของการดำเนินการยกกำลังสอง ปัญหานี้เกิดขึ้นกับฮาร์ดแวร์ที่ใช้สถาปัตยกรรม MIPS32 และ MIPS64 เท่านั้น และอาจส่งผลต่ออัลกอริทึมเส้นโค้งวงรี ซึ่งรวมถึงอัลกอริทึมที่ใช้โดยค่าเริ่มต้นใน TLS 1.3 ปัญหาได้รับการแก้ไขในการอัปเดตเดือนธันวาคมของ OpenSSL 1.1.1m และ 3.0.1

มีข้อสังเกตว่าการใช้การโจมตีจริงเพื่อรับข้อมูลเกี่ยวกับคีย์ส่วนตัวโดยใช้ปัญหาที่ระบุนั้นได้รับการพิจารณาสำหรับ RSA, DSA และอัลกอริทึม Diffie-Hellman (DH, Diffie-Hellman) แต่ไม่น่าเป็นไปได้ ยากเกินไปที่จะดำเนินการ และ ต้องใช้ทรัพยากรคอมพิวเตอร์มหาศาล ในเวลาเดียวกัน การโจมตี TLS นั้นไม่ได้รับการยกเว้น เนื่องจากในปี 2016 เมื่อช่องโหว่ CVE-2016-0701 ถูกกำจัด การแบ่งปันคีย์ส่วนตัว DH หนึ่งรายการโดยไคลเอ็นต์จึงเป็นสิ่งต้องห้าม

นอกจากนี้ ยังมีช่องโหว่ที่พบในโครงการโอเพ่นซอร์สหลายรายการเมื่อเร็วๆ นี้:

  • ช่องโหว่หลายรายการ (CVE-2022-0330) ในไดรเวอร์กราฟิก i915 ที่เกี่ยวข้องกับการรีเซ็ต GPU TLB ที่หายไป หากไม่ได้ใช้ IOMMU (การแปลที่อยู่) ช่องโหว่นี้จะอนุญาตให้เข้าถึงหน้าหน่วยความจำแบบสุ่มจากพื้นที่ผู้ใช้ ปัญหาสามารถใช้เพื่อทำลายหรืออ่านข้อมูลจากพื้นที่สุ่มของหน่วยความจำ ปัญหาเกิดขึ้นกับ Intel GPU แบบรวมและแยกทั้งหมด การแก้ไขนี้ดำเนินการโดยการเพิ่ม TLB flush ที่บังคับก่อนที่บัฟเฟอร์ GPU แต่ละตัวจะส่งคืนการทำงานไปยังระบบ ซึ่งจะนำไปสู่การลดประสิทธิภาพ ผลกระทบด้านประสิทธิภาพขึ้นอยู่กับ GPU การดำเนินการที่ทำกับ GPU และภาระในระบบ ขณะนี้การแก้ไขมีให้ใช้งานในรูปแบบแพตช์เท่านั้น
  • ช่องโหว่ (CVE-2022-22942) ในไดรเวอร์กราฟิก vmwgfx ที่ใช้ในการเร่งความเร็ว 3 มิติในสภาพแวดล้อม VMware ปัญหานี้ทำให้ผู้ใช้ที่ไม่มีสิทธิ์เข้าถึงไฟล์ที่เปิดโดยกระบวนการอื่นๆ ในระบบ การโจมตีต้องการการเข้าถึงอุปกรณ์ /dev/dri/card0 หรือ /dev/dri/rendererD128 และความสามารถในการเรียก ioctl() ด้วยตัวอธิบายไฟล์ที่เป็นผลลัพธ์
  • ช่องโหว่ (CVE-2021-3996, CVE-2021-3995) ในไลบรารี libmount ที่มาพร้อมกับแพ็คเกจ util-linux ที่อนุญาตให้ผู้ใช้ที่ไม่มีสิทธิ์ติดตั้งดิสก์พาร์ติชันโดยไม่ได้รับอนุญาต มีการระบุปัญหาระหว่างการตรวจสอบโปรแกรม SUID-root umount และ fusermount
  • ช่องโหว่ในไลบรารี C มาตรฐาน Glibc ที่ส่งผลกระทบต่อฟังก์ชัน realpath (CVE-2021-3998) และ getcwd (CVE-2021-3999)
    • ปัญหาใน realpath() เกิดจากการส่งคืนค่าที่ไม่ถูกต้องภายใต้เงื่อนไขบางประการ ซึ่งมีข้อมูลที่เหลือที่ไม่สะอาดจากสแต็ก สำหรับโปรแกรม SUID-root fusermount สามารถใช้ช่องโหว่เพื่อรับข้อมูลที่ละเอียดอ่อนจากหน่วยความจำของกระบวนการ เช่น เพื่อรับข้อมูลเกี่ยวกับพอยน์เตอร์
    • ปัญหาเกี่ยวกับ getcwd() ทำให้มีบัฟเฟอร์ล้นหนึ่งไบต์ ปัญหาเกิดจากข้อบกพร่องที่มีอยู่ตั้งแต่ปี 1995 หากต้องการเรียกใช้โอเวอร์โฟลว์ ในเนมสเปซจุดเมาต์ที่แยกต่างหาก การเรียก chdir () สำหรับไดเร็กทอรี "/" ก็เพียงพอแล้ว ไม่มีรายงานว่าช่องโหว่นั้นจำกัดเฉพาะการหยุดทำงานของกระบวนการหรือไม่ แต่เคยมีกรณีของการใช้ประโยชน์จากช่องโหว่ดังกล่าวในอดีต แม้ว่านักพัฒนาจะสงสัยก็ตาม
  • ช่องโหว่ (CVE-2022-23220) ในแพ็คเกจ usbview ที่อนุญาตให้ผู้ใช้โลคัลล็อกอินผ่าน SSH เพื่อเรียกใช้โค้ดในฐานะรูท เนื่องจากการตั้งค่า (allow_any=yes) ในกฎ PolKit ให้รันยูทิลิตี usbview ในฐานะรูทโดยไม่มีการตรวจสอบสิทธิ์ การดำเนินการลงมาที่การใช้ตัวเลือก "--gtk-module" เพื่อโหลดไลบรารีของคุณลงใน usbview ปัญหานี้ได้รับการแก้ไขแล้วใน usbview 2.2

ที่มา: opennet.ru

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