- พบ ช่องโหว่การรันโค้ดจากระยะไกล (RCE) แบบคลิกเดียว ในซอฟต์แวร์ DriverHub ของ ASUS
- จากการ ตรวจสอบ origin ที่หละหลวม บนเครื่องโลคัล ทำให้เว็บไซต์อันตรายสามารถสั่ง รันด้วยสิทธิ์ผู้ดูแลระบบ ผ่าน RPC ได้
- หากนำ เอ็นด์พอยต์ UpdateApp ไปใช้ในทางที่ผิด ก็สามารถรันโค้ดอันตรายได้ด้วยการจับคู่ไฟล์ปฏิบัติการที่มีลายเซ็นของ ASUS กับไฟล์ ini ที่ถูกดัดแปลง
- ช่องโหว่นี้ถูกเปิดเผยในชื่อ CVE-2025-3462, CVE-2025-3463 และ ASUS ก็ปล่อยแพตช์ออกมาอย่างรวดเร็ว
- ณ เวลาที่รายงานช่องโหว่ ยังไม่พบการนำไปใช้โจมตีจริง และ ASUS ตอบแทนด้วยการบันทึกชื่อในหอเกียรติยศแทน bug bounty
Introduction
- เรื่องเริ่มจากการพูดคุยเกี่ยวกับการซื้อชิ้นส่วนพีซีใหม่
- เมื่อซื้อเมนบอร์ด ASUS มา พบว่า ตัวเลือกติดตั้งซอฟต์แวร์อัตโนมัติจาก BIOS ถูกเปิดใช้งานเป็นค่าเริ่มต้น
- เพราะเผลอไม่ได้ปิดตัวเลือกนี้ จึงเจอ คำขอสิทธิ์ติดตั้ง DriverHub หลังล็อกอินเข้า Windows
- ด้วยความที่ต้องใช้ไดรเวอร์ WiFi และเกิดความสงสัย จึงลองติดตั้ง DriverHub
DriverHub
- DriverHub เป็น โปรเซสเบื้องหลังที่ทำงานโดยไม่มี GUI
- มันสื่อสารกับ driverhub.asus.com เพื่อบอกว่ามีไดรเวอร์ใดที่ต้องติดตั้งหรืออัปเดต
- บนเครื่องโลคัล มันเปิดให้ใช้งาน HTTP API (พอร์ต 53000) เป็น RPC
- เว็บไซต์สามารถส่งคำขอ API ไปยังบริการโลคัลนี้เพื่อจัดการไดรเวอร์ได้โดยตรง
- จึงตระหนักว่า หากระบบความปลอดภัยไม่รัดกุม ผู้โจมตีก็อาจส่งคำขอใด ๆ ได้ตามใจ
Finding the Vulnerability
- ได้ทดลองว่าเว็บไซต์สามารถส่งคำขอ RPC ตามอำเภอใจไปยังแบ็กเอนด์ของ DriverHub ได้หรือไม่
- ระบบถูกออกแบบให้ตอบสนองเฉพาะเมื่อ Origin เป็น “driverhub.asus.com” เท่านั้น
- จากนั้นตรวจสอบว่าการเช็ก Origin ใช้การ จับคู่แบบ wildcard ลักษณะ
origin.includes("driverhub.asus.com") หรือไม่
- เมื่อเปลี่ยน Origin เป็น “driverhub.asus.com.mrbruh.com” ก็พบว่า คำขอยังถูกอนุญาต
- จึงยืนยันได้ว่านี่เป็น ความเสี่ยงร้ายแรง ที่ผู้โจมตีสามารถเรียก RPC จากเว็บไซต์อันตรายได้
The Extent of the Damage
- จากการรีเวิร์สและวิเคราะห์ JavaScript ทำให้ทราบ รายการเอ็นด์พอยต์ API ที่ใช้ได้ในเบื้องหลัง
- เอ็นด์พอยต์สำคัญได้แก่:
- Initialize: คืนค่าสถานะการติดตั้งและข้อมูลต่าง ๆ
- DeviceInfo: คืนค่าซอฟต์แวร์ ASUS, ไดรเวอร์, ฮาร์ดแวร์ และ MAC address ที่ติดตั้งอยู่
- Reboot: สั่ง Reboot ทันที
- Log: คืนค่าชุดไฟล์ล็อก
- InstallApp: ติดตั้งแอปหรือไดรเวอร์ตาม ID ที่ระบุ
- UpdateApp: ดาวน์โหลดแล้วรันไฟล์ปฏิบัติการจาก URL ที่ระบุ (หากมีลายเซ็น ASUS จะรันอัตโนมัติ)
- โดยเฉพาะ UpdateApp ที่ถูกมองว่าน่าจะนำไปใช้โจมตีได้
Achieving RCE
- มีการวิเคราะห์เอ็นด์พอยต์ UpdateApp อย่างละเอียด
- พารามิเตอร์ “Url” มีเงื่อนไขว่าต้องมี
.asus.com อยู่ แต่ก็มีช่องให้หลบเลี่ยงได้ และชื่อไฟล์จะอิงจากท้าย URL
- แม้จะ รันอัตโนมัติเฉพาะไฟล์ปฏิบัติการที่มีลายเซ็นของ ASUS แต่ไฟล์ที่ไม่มีลายเซ็นก็ยังถูกดาวน์โหลดและไม่ถูกลบ
- จึงพิจารณาความเป็นไปได้ของ การโจมตีเชิงจังหวะเวลา ที่สลับไฟล์ก่อนรันหลังผ่านการตรวจสอบลายเซ็น แต่พบว่าไม่ค่อยใช้งานได้จริง
- ระหว่างวิเคราะห์โครงสร้างแพ็กเกจไดรเวอร์ WiFi ของ ASUS ก็พบว่าคุณสมบัติ SilentInstallRun ใน
AsusSetup.ini สามารถใช้รันคำสั่งใดก็ได้
- ห่วงโซ่การโจมตีสุดท้ายคือ:
- ผู้โจมตีล่อให้เป้าหมายเข้าเว็บซับโดเมนของ driverhub.asus.com. *
- เว็บไซต์ส่งคำขอ UpdateApp เพื่อให้ดาวน์โหลด
calc.exe อันตราย (ดาวน์โหลดอย่างเดียว ยังไม่รัน)
- ส่งคำขอไฟล์
AsusSetup.ini แบบปรับแต่งเอง (SilentInstallRun=calc.exe เช่นกัน และยังไม่รัน)
- ส่งคำขอ
AsusSetup.exe ที่มีลายเซ็น ซึ่งจะถูกรันอัตโนมัติด้วยสิทธิ์ผู้ดูแลระบบ และอ่านไฟล์ ini ด้วยแฟล็ก -s ก่อนสั่งรัน calc.exe
- ผลลัพธ์คือเกิด การรันโค้ดตามอำเภอใจจากระยะไกลด้วยสิทธิ์ผู้ดูแลระบบ (RCE) แบบคลิกเดียว
Reporting Timeline (DD/MM/YYYY)
- 07/04/2025: ค้นพบช่องโหว่ครั้งแรก
- 08/04/2025: พิสูจน์ RCE และรายงานช่องโหว่
- 09/04/2025: ได้รับการตอบกลับอัตโนมัติจาก ASUS
- 17/04/2025: แพตช์ถูกปล่อยและได้รับบิลด์ที่แก้ไขแล้ว
- 18/04/2025: ยืนยันว่าแพตช์ขึ้นใช้งานจริงแล้ว
- 09/05/2025: เปิดเผย CVE-2025-3462 (8.4 คะแนน), CVE-2025-3463 (9.4 คะแนน)
Assessing the Damage
- หลังรายงานช่องโหว่ทันที ได้เขียนสคริปต์ติดตาม certificate transparency
- ใช้มันเฝ้าดูประวัติการออกใบรับรองของซับโดเมน
driverhub.asus.com.*
- จากการติดตามเป็นเวลา 1 เดือน เว็บไซต์ที่เข้าข่ายตามตัวกรองมีเพียงของผู้วิจัยเองที่ใช้ทดสอบ
- จึงยืนยันได้ว่า ยังไม่มีร่องรอยว่าถูกนำไปใช้โจมตีก่อนหน้า
Bug Bounty
- มีการสอบถาม ASUS ว่า มีการจ่าย bug bounty หรือไม่ แต่ถูกปฏิเสธ
- สุดท้ายจึงได้รับการตอบแทนในรูปแบบ การบันทึกชื่อในหอเกียรติยศ (hall of fame)
- มีการอธิบายเพิ่มเติมว่าแม้ ASUS จะเป็นบริษัทใหญ่ แต่ก็ยังไม่มีนโยบาย bounty ที่ดีพอ
Fun Notes
- ตอน ส่งฟอร์ม Security Advisory ของ ASUS นั้น PoC ถูก Amazon CloudFront บล็อกในฐานะคำขออันตราย
- เมื่อกด “Install All” ใน DriverHub จะมีการติดตั้งซอฟต์แวร์อื่นเพิ่มเติมแบบบังคับด้วย (เช่น Norton360, WinRAR)
- คำอธิบาย CVE คลุมเครือและไม่ตรงกับข้อเท็จจริง จนอาจทำให้เข้าใจผิดว่า 'ไม่กระทบเดสก์ท็อป/โน้ตบุ๊ก' (แต่ความจริงคือกระทบทุกอุปกรณ์ที่ติดตั้ง DriverHub)
- WiFi ก็ยังใช้ไม่ได้อยู่ดี จนต้องซื้ออะแดปเตอร์ USB WiFi ภายนอก
- ช่องทางติดต่อคือ Signal: paul19.84, อีเมล contact [at] mrbruh.com
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
driverhub.asus.com.*) แต่จะเป็นจริงก็ต่อเมื่อไม่มีใครจดทะเบียนเฉพาะซับโดเมนของ driverhub ไว้ต่างหาก ถ้าใช้ wildcard ก็อาจไม่แสดงใน certificate transparency log และยังถูกนำไปใช้โจมตีได้*.example.comใช้ได้กับtest.example.comเท่านั้น แต่ใช้กับtest.test.example.comไม่ได้ ถ้ามีใครใช้ wildcard*.asus.com.example.comก็จะทำให้driverhub.asus.com.example.comกลายเป็นชื่อที่ใช้ได้.example.comจริง ก็อาจใช้โจมตีผ่านที่อื่นที่ไม่ใช่driverhub.asus.comได้จริง เพราะเหตุนี้การเฝ้าดู CT log อย่างเดียวจึงจับช่องโหว่ประเภท subdomain takeover แบบนี้ได้ไม่สมบูรณ์sarcasm.comแบบประชดประชันMyASUSถูกเพิ่มมาเป็นค่าเริ่มต้น โชคดีที่มีตัวเลือกให้ปิด และถ้าอัปเดตจาก BIOS ของ Intel NUC ดูเหมือนว่าจะปิดไว้เป็นค่าเริ่มต้นอยู่แล้ว