ทาวิส ออร์แมนดี นักวิจัยด้านความปลอดภัยของ Google ได้ค้นพบช่องโหว่ใหม่ (CVE-2023-23583) ในโปรเซสเซอร์ Intel ชื่อรหัสว่า Reptar ซึ่งส่วนใหญ่ก่อให้เกิดภัยคุกคามต่อระบบคลาวด์ที่ใช้งานเครื่องเสมือนของผู้ใช้ที่แตกต่างกัน ช่องโหว่นี้อาจทำให้ระบบค้างหรือล่มเมื่อดำเนินการบางอย่างในระบบเกสต์ที่ไม่มีสิทธิ์ใช้งาน มีการเผยแพร่ยูทิลิตี้ที่สร้างเงื่อนไขสำหรับการใช้ประโยชน์เพื่อวัตถุประสงค์ในการทดสอบ
ในทางทฤษฎี ช่องโหว่นี้อาจถูกนำไปใช้ประโยชน์เพื่อยกระดับสิทธิ์จากริง 3 เป็นริง 0 (CPL0) และหลบหนีจากสภาพแวดล้อมที่แยกตัวออกไป แต่สถานการณ์นี้ยังไม่ได้รับการยืนยันในทางปฏิบัติ เนื่องจากปัญหาในการดีบักในระดับไมโครสถาปัตยกรรม การทดสอบภายในของ Intel ยังแสดงให้เห็นถึงศักยภาพในการใช้ประโยชน์จากช่องโหว่นี้เพื่อยกระดับสิทธิ์ภายใต้เงื่อนไขบางประการ
นักวิจัยระบุว่าช่องโหว่นี้ส่งผลกระทบต่อโปรเซสเซอร์ Intel ตระกูล Ice Lake, Rocket Lake, Tiger Lake, Raptor Lake, Alder Lake และ Sapphire Rapids รายงานของ Intel ระบุว่าปัญหานี้ส่งผลกระทบต่อโปรเซสเซอร์ Intel Core รุ่นที่ 10 (Ice Lake) และโปรเซสเซอร์ Xeon Scalable รุ่นที่ 3 รวมถึงโปรเซสเซอร์ Xeon E/D/W (Ice Lake, Skylake, Haswell, Broadwell, Skylake, Sapphire Rapids, Emerald Rapids, Cascade Lake, Cooper Lake, Comet Lake, Rocket Lake) และโปรเซสเซอร์ Atom (Apollo Lake, Jasper Lake, Arizona Beach, Alder Lake, Parker Ridge, Snow Ridge, Elkhart Lake และ Denverton) ช่องโหว่นี้ได้รับการแก้ไขแล้วในการอัปเดตไมโครโค้ด 20231114 เมื่อวานนี้
ช่องโหว่นี้เกิดจากสภาวะทางสถาปัตยกรรมไมโครบางอย่างที่การดำเนินการคำสั่ง "REP MOVSB" ถูกเข้ารหัสด้วยคำนำหน้า "REX" ที่ซ้ำซ้อน ทำให้เกิดพฤติกรรมที่ไม่สามารถกำหนดได้ ปัญหานี้ถูกค้นพบระหว่างการทดสอบคำนำหน้าซ้ำซ้อน ซึ่งในทางทฤษฎีควรละเว้น แต่ในทางปฏิบัติกลับก่อให้เกิดผลกระทบที่แปลกประหลาด เช่น การละเว้นการกระโดดแบบไม่มีเงื่อนไข และการรบกวนการบันทึกพอยน์เตอร์ในคำสั่ง xsave และคำสั่งเรียก การวิเคราะห์เพิ่มเติมพบว่าการเพิ่มคำนำหน้าซ้ำซ้อนลงในคำสั่ง "REP MOVSB" ทำให้เนื้อหาของ ROB (ReOrder Buffer) ซึ่งใช้สำหรับการจัดลำดับคำสั่งเสียหาย
เชื่อว่าข้อผิดพลาดนี้เกิดจากการคำนวณขนาดคำสั่ง MOVSB ที่ไม่ถูกต้อง ซึ่งนำไปสู่การหยุดชะงักในการกำหนดแอดเดรสของคำสั่งที่เขียนลงในบัฟเฟอร์ ROB หลัง MOVSB ที่มีคำนำหน้ามากเกินไป และการจัดตำแหน่งตัวชี้คำสั่งที่ไม่ถูกต้อง ความไม่ซิงโครไนซ์นี้อาจจำกัดอยู่เพียงการรบกวนการคำนวณระหว่างกลางและการกู้คืนสถานะที่สอดคล้องกันในภายหลัง อย่างไรก็ตาม หากเกิดการขัดข้องพร้อมกันบนหลายคอร์หรือเธรด SMT อาจทำให้เกิดความเสียหายทางสถาปัตยกรรมไมโครที่มากพอที่จะทำให้เกิดการขัดข้องได้
ที่มา: opennet.ru
