CVE nghiêm trọng: Leo thang đặc quyền trên Windows

CLOUD SERVER
Vững hạ tầng • Chắc thành công
☁️
⚡ Hiệu năng cao
🛡️ Bảo mật
📈 Mở rộng dễ dàng
🕒 Hỗ trợ 24/7
TÌM HIỂU NGAY

Một lỗ hổng leo thang đặc quyền trên Windows, được theo dõi là CVE-2026-66804, cho phép người dùng tiêu chuẩn, có đặc quyền thấp cắm một tệp DLL độc hại và thực thi mã tùy ý với đầy đủ đặc quyền NT AUTHORITY\SYSTEM. Lỗ hổng này khai thác một điểm yếu còn tồn tại trong cách Windows xử lý các đăng ký Component Object Model (COM).

Chi tiết về lỗ hổng leo thang đặc quyền

Nguyên nhân gốc rễ: Đăng ký COM bị lơ lửng

Lỗi này xuất phát từ một đăng ký đối tượng COM bị lơ lửng cho thành phần Windows CrossDevice. Đây là dịch vụ đằng sau các tính năng như Phone Link, đồng bộ hóa clipboard và chia sẻ tệp đa thiết bị. Đối tượng COM này, được đăng ký dưới CLSID {E9F83CF2-E0C0-4CA7-AF01-E90C70BEF496}, nằm trong khóa registry classes toàn hệ thống, có thể truy cập bởi mọi người dùng trên máy, bao gồm cả các dịch vụ SYSTEM.

Quan trọng hơn, tệp DLL mà đối tượng này trỏ tới, %PROGRAMDATA%\CrossDevice\CrossDevice.Streaming.Source.dll, thực tế không tồn tại trên các hệ thống bị ảnh hưởng. Đường dẫn này nằm trong thư mục C:\ProgramData, một thư mục mà bất kỳ người dùng tiêu chuẩn nào cũng có thể tạo thư mục và tệp.

Sự kết hợp này cho phép kẻ tấn công cắm một tệp DLL tùy ý vào vị trí bị thiếu. Khi đối tượng COM được khởi tạo, nó sẽ tải mã do kẻ tấn công kiểm soát. Lỗ hổng này được Microsoft vá trong bản cập nhật August Patch Tuesday.

Tiền sử và khắc phục ban đầu

Đây không phải là lần đầu tiên đăng ký CrossDevice gây ra sự cố. Lỗ hổng ban đầu, CVE-2026-50343, được các nhà nghiên cứu đặt tên là “Dark Elevator”, đã lạm dụng các quyền khóa registry yếu để đăng ký lớp này như một plugin cài đặt và lừa dịch vụ SYSTEM cấp cao tải nó vào bộ nhớ.

Microsoft đã khắc phục sự cố InstallService vào tháng 7 năm 2026, nhưng tham chiếu COM bị lơ lửng cơ bản vẫn còn. Điều này buộc các nhà nghiên cứu phải tìm kiếm một đường dẫn kích hoạt thay thế.

Cơ chế khai thác và các biện pháp phòng vệ

Khai thác thông qua tùy chỉnh Marshaling COM

Theo Google Project Zero, phương pháp thay thế được sử dụng là kỹ thuật tùy chỉnh Marshaling COM. Khi một phương thức giao diện COM được triển khai ngoài tiến trình, runtime sẽ marshals các tham số của nó thành một lệnh gọi thủ tục từ xa (RPC). Các đối tượng được truyền dưới dạng tham số được tuần tự hóa thành cấu trúc OBJREF.

Theo mặc định, COM marshals theo tham chiếu. Tuy nhiên, một đối tượng triển khai giao diện IMarshal có thể chọn chế độ marshal-by-value và chỉ định một CLSID tùy ý để được tải trong quá trình unmarshaling. Bằng cách trỏ CLSID này vào lớp CrossDevice bị lơ lửng, kẻ tấn công có thể buộc một tiến trình có đặc quyền tải DLL đã cắm một cách tự động trước khi phương thức mục tiêu chạy.

Các biện pháp phòng vệ và hạn chế

Microsoft đã lường trước việc lạm dụng này. Kể từ Windows 8, các dịch vụ có thể vô hiệu hóa tùy chỉnh marshaling bằng cách sử dụng cờ EOAC_NO_CUSTOM_MARSHAL trong CoInitializeSecurity hoặc cài đặt mạnh mẽ hơn COMGLB_UNMARSHALING_POLICY_STRONG thông qua IGlobalOptions::Set.

Để thành công, kẻ tấn công cần một máy chủ COM có đặc quyền (SYSTEM) mà không bật các biện pháp kiểm soát tăng cường bảo mật này. Nhà nghiên cứu đã xác định được một mục tiêu như vậy trong đối tượng Shell Create Object Handler (CLSID 135fd325-45b7-4c30-89f8-4386961669f0). Đây là một thành phần đã được nghiên cứu và khai thác trước đó, chạy bên trong một tiến trình dllhost của SYSTEM với tùy chỉnh marshaling vẫn được cho phép.

Vì đối tượng này không có dịch vụ hỗ trợ, nó không thể được khởi tạo trực tiếp. Thay vào đó, nó phải được khởi chạy thông qua tác vụ theo lịch trình \Microsoft\Windows\Shell\CreateObjectTask có thể khởi động bởi người dùng, kết hợp với sự kiện toàn cục ShellCreateObjectTaskReadyEvent để giữ cho nó hoạt động.

Với máy chủ SYSTEM đang chạy, mã khai thác đơn giản là truyền một đối tượng marshaled giả thông qua giao diện ICreateObject duy nhất của đối tượng. Điều này kích hoạt unmarshaling không điều kiện và tải tệp DLL độc hại vào tiến trình SYSTEM để leo thang đặc quyền hoàn toàn.

Thông tin về lỗ hổng và khuyến nghị

Microsoft đánh giá CVE-2026-66804 ở mức High (Cao) với điểm CVSS là 7.8. Lỗ hổng này có thể bị khai thác cục bộ bởi người dùng đã được xác thực mà không yêu cầu bất kỳ tương tác nào từ người dùng.

Mã khai thác Proof-of-Concept (PoC) đã xuất hiện công khai, và ít nhất một mô-đun khai thác thương mại hiện tự động hóa chuỗi leo thang từ LOCAL SERVICE lên SYSTEM. Điều này nhấn mạnh rủi ro thực tế đối với các máy chủ chưa được vá lỗi.

Các quản trị viên nên áp dụng các bản cập nhật tích lũy của tháng 8 năm 2026 ngay lập tức, vì bản vá này loại bỏ đăng ký bị lơ lửng vốn cho phép cuộc tấn công. Ngoài bản vá cụ thể, nghiên cứu này là một lời nhắc nhở rằng các đăng ký COM bị lơ lửng vẫn là một lớp lỗi leo thang đặc quyền cục bộ màu mỡ và thường bị bỏ qua.

Kỹ thuật marshaling tương tự có thể khai thác các DLL bị thiếu, gây ra sự cố hoặc làm suy yếu các bộ giải marshaling tùy chỉnh bị lỗi. Để phòng ngừa, người dùng có thể chủ động săn lùng các lỗ hổng tương tự bằng cách quét các lớp COM trong tiến trình có DLL đã đăng ký không thể phân giải trên đĩa, sau đó kiểm tra xem kẻ tấn công có thể cắm một DLL như thế nào.

Bạn có thể tìm hiểu thêm về lỗ hổng này tại trang hướng dẫn lỗ hổng của Microsoft.