กูเกิลพบบั๊กในซีพียูอินเทล ทำเครื่องแครชได้ทั้งเครื่องแม้รันใน VM กระทบ Core รุ่นที่ 10 ขึ้นไป – SMS Marketing ราคาถูกที่สุด
Tavis Ormandy จาก Project Zero ของกูเกิลรายงานถึงช่องโหว่ Reptar (CVE-2023-23583) ที่อาศัย bit ที่ไม่ได้ใช้งานของคำสั่ง MOVSB ที่ใช้ย้ายข้อมูลเข้าไปยัง register เมื่อรันคำสั่งที่ผิดพลาดแบบนี้อย่างจงใจจะทำให้ซีพียูหลุดไปสู่สถานะที่ไม่ได้กำหนดการทำงานไว้ ส่งผลให้เครื่องแครชไปได้ทั้งเครื่อง แม้จะรันโค้ดอยู่ใน virtual machine ที่ถูกจำกัดสิทธิ์ไว้ก็ตาม
บั๊กนี้เกิดจากฟีเจอร์ Fast Short Repeat Move (FSRM) ที่เป็นฟีเจอร์สำหรับย้ายสตริงด้วยความเร็วสูง ในซีพียูที่เปิดฟีเจอร์นี้ไว้และสั่งคำสั่ง MOVSB โดยใส่ค่า prefix ของ register ให้ผิดพลาดอย่างจงใจ ซีพียูจะหลุดเข้าไปอยู่ใน state ที่ผิดพลาดและ halt หยุดการทำงานไปเลย โดย FSRM นั้นเพิ่มเข้ามาตั้งแต่ซีพียู Ice Lake ขึ้นมา
ผลกระทบเบื้องต้นของ Repter คือการที่ลูกค้าคลาวด์สามารถทำเครื่องให้แครชได้ กระทบลูกค้ารายอื่นๆ ไปด้วย และมีความเป็นไปได้ว่าจะสามารถยกระดับสิทธิ์ของโค้ดที่รันอยู่เพื่อควบคุมเครื่องทั้งเครื่องได้
Ormandy พบบั๊กนี้จากการทำ Oracle Serialization ที่อาศัยการเขียนโปรแกรมสุ่มๆ แล้วแปลงโค้ดโดยแทรกคำสั่ง fence ที่บังคับให้ซีพียูรันำสั่งตามลำดับ จากเดิมที่ซีพียูอาจจะสลับคำสั่งไปมาเพื่อเร่งความเร็ว จากนั้นดูผลสุดท้ายว่าซีพียูอยู่ในสถานะเดียวกันหรือไม่ หากต่างกันก็แสดงว่ามีความผิดปกติบางอย่าง
ตอนนี้อินเทลออกแพตช์ให้ซีพียูทั้งหมดที่ได้รับผลกระทบแล้ว ผู้ใช้ทั้วไปน่าจะได้รับอัพเดตเฟิร์มแวร์จากผู้ผลิตระบบปฎิบัติการเร็วๆ นี้
ที่มา – Google Cloud Blog