- Phát hiện lỗ hổng thực thi mã từ xa (RCE) một cú nhấp trong phần mềm DriverHub của ASUS
- Do xác thực origin lỏng lẻo trên máy cục bộ, trang web độc hại có thể dùng RPC để thực thi với quyền quản trị viên
- Khi lạm dụng endpoint UpdateApp, có thể thực thi mã độc bằng cách kết hợp tệp thực thi có chữ ký ASUS với tệp ini đã bị chỉnh sửa
- Lỗ hổng này đã được công bố với mã CVE-2025-3462, CVE-2025-3463, và ASUS đã nhanh chóng phát hành bản vá
- Tại thời điểm báo cáo lỗ hổng, không phát hiện trường hợp bị khai thác thực tế, và ASUS bồi đáp bằng cách ghi danh vào hall of fame thay vì bug bounty
Introduction
- Câu chuyện bắt đầu từ việc mua linh kiện PC mới
- Khi mua bo mạch chủ ASUS, tùy chọn BIOS tự động cài phần mềm được bật mặc định
- Do vô tình không tắt tùy chọn này, sau khi đăng nhập Windows tác giả nhận được yêu cầu cấp quyền cài DriverHub
- Vì cần driver WiFi, tác giả tò mò và đã cài DriverHub
DriverHub
- DriverHub là tiến trình nền hoạt động không có GUI
- Nó giao tiếp với driverhub.asus.com để cung cấp danh sách driver cần cài đặt/cập nhật
- Trên máy cục bộ, nó cung cấp HTTP API (cổng 53000) dưới dạng RPC
- Website có thể gửi yêu cầu API tới dịch vụ cục bộ này để trực tiếp quản lý driver
- Tác giả nhận ra rằng nếu bảo mật kém thì kẻ tấn công có thể gửi yêu cầu tùy ý
Finding the Vulnerability
- Tác giả thử nghiệm xem website có thể tùy ý gửi yêu cầu RPC tới backend DriverHub hay không
- Hệ thống được thiết kế để chỉ phản hồi khi Origin là “driverhub.asus.com”
- Tác giả kiểm tra xem việc kiểm tra Origin có dùng khớp wildcard kiểu
origin.includes("driverhub.asus.com") hay không
- Khi đổi Origin thành “driverhub.asus.com.mrbruh.com”, tác giả phát hiện yêu cầu vẫn được chấp nhận
- Điều này xác nhận rủi ro nghiêm trọng khi kẻ tấn công có thể gọi RPC từ một website độc hại theo cách này
The Extent of the Damage
- Thông qua reverse engineering và phân tích JavaScript, tác giả xác định được danh sách endpoint API có thể dùng từ tiến trình nền
- Các endpoint chính:
- Initialize: trả về trạng thái cài đặt và thông tin
- DeviceInfo: trả về phần mềm/driver/phần cứng ASUS đã cài cùng địa chỉ MAC
- Reboot: thực hiện khởi động lại ngay lập tức
- Log: trả về tập hợp tệp log
- InstallApp: cài ứng dụng hoặc driver với ID chỉ định
- UpdateApp: tải xuống rồi chạy tệp thực thi từ URL chỉ định (tự động chạy nếu có chữ ký ASUS)
- Tác giả đặc biệt chú ý đến khả năng bị lạm dụng của UpdateApp
Achieving RCE
- Tác giả phân tích chi tiết endpoint UpdateApp
- Tham số “Url” có điều kiện phải chứa
.asus.com nhưng có khả năng bị vượt qua, và tên tệp sẽ theo phần cuối của URL
- Chỉ tệp thực thi có chữ ký ASUS mới được tự động chạy, nhưng tệp không có chữ ký vẫn được tải xuống và không bị xóa
- Tác giả xem xét tấn công timing để thay tệp ngay trước lúc chạy sau khi vượt qua kiểm tra chữ ký, nhưng cách này không thực tế
- Trong quá trình phân tích cấu trúc gói driver WiFi của ASUS, tác giả phát hiện thuộc tính SilentInstallRun của AsusSetup.ini có thể được dùng để chạy lệnh tùy ý
- Chuỗi tấn công cuối cùng:
- Kẻ tấn công dụ nạn nhân truy cập website dưới tên miền phụ của
driverhub.asus.com. *
- Website yêu cầu UpdateApp tải calc.exe độc hại xuống (chỉ tải, chưa chạy)
- Yêu cầu một AsusSetup.ini tùy biến (đặt
SilentInstallRun=calc.exe, cũng chưa chạy)
- Yêu cầu AsusSetup.exe có chữ ký (tự động chạy với quyền quản trị viên, đọc ini bằng cờ “-s” và thực thi calc.exe)
- Kết quả là xảy ra RCE thực thi mã tùy ý từ xa với quyền quản trị viên chỉ bằng một cú nhấp
Reporting Timeline (DD/MM/YYYY)
- 07/04/2025: phát hiện lỗ hổng lần đầu
- 08/04/2025: chứng minh được RCE và báo cáo lỗ hổng
- 09/04/2025: nhận phản hồi tự động từ ASUS
- 17/04/2025: bản vá được phát hành và nhận được bản dựng đã vá
- 18/04/2025: xác nhận bản vá đã được triển khai thực tế
- 09/05/2025: công bố CVE-2025-3462 (8.4 điểm), CVE-2025-3463 (9.4 điểm)
Assessing the Damage
- Ngay sau khi báo cáo lỗ hổng, tác giả viết script theo dõi certificate transparency
- Theo dõi lịch sử cấp chứng chỉ cho các tên miền phụ
driverhub.asus.com.*
- Sau 1 tháng giám sát, ngoài thử nghiệm của chính tác giả thì không có website nào khác bị bộ lọc phát hiện
- Xác nhận không có dấu hiệu bị khai thác trước đó
Bug Bounty
- Tác giả hỏi ASUS có trả bug bounty hay không nhưng bị từ chối
- Thay vào đó, phần thưởng chủ yếu là được ghi danh vào hall of fame
- Có bổ sung rằng dù ASUS là tập đoàn lớn nhưng chính sách bounty vẫn còn thiếu
Fun Notes
- Khi gửi form Security Advisory của ASUS, PoC đã bị Amazon CloudFront chặn như một yêu cầu độc hại
- Khi bấm “Install All” trong DriverHub, các phần mềm khác (Norton360, WinRAR, v.v.) cũng bị cài ép
- Mô tả CVE mơ hồ và chưa đúng thực tế, dễ khiến người đọc hiểu nhầm rằng 'desktop/laptop không bị ảnh hưởng' (thực tế là mọi thiết bị có cài DriverHub đều bị ảnh hưởng)
- WiFi vẫn không hoạt động, nên cuối cùng phải mua adapter WiFi USB gắn ngoài
- Liên hệ qua Signal: paul19.84, email
contact [at] mrbruh.com
1 bình luận
Ý kiến trên Hacker News
driverhub.asus.com.*) khớp điều kiện nên chưa từng bị khai thác, nhưng điều đó chỉ đúng nếu không ai đăng ký riêng một subdomain của driverhub. Nếu dùng wildcard thì sẽ không hiện trong certificate transparency log và vẫn có thể bị khai thác*.example.comchỉ áp dụng chotest.example.com, chứ không áp dụng chotest.test.example.com. Nếu ai đó dùng wildcard*.asus.com.example.comthìdriverhub.asus.com.example.comsẽ trở nên hợp lệ.example.comthì thực sự có thể khai thác từ nơi không phảidriverhub.asus.com. Chính vì điểm này mà chỉ giám sát CT log thôi sẽ không thể phát hiện hoàn hảo các lỗ hổng chiếm quyền subdomain kiểu nàyMyASUSlại được thêm mặc định. May là có tùy chọn vô hiệu hóa, và có vẻ nếu cập nhật từ BIOS Intel NUC thì mặc định nó sẽ ở trạng thái tắt