Laptop Lenovo, bao gồm cả các mẫu ThinkPad và Yoga, có các lỗ hổng dẫn tới tấn công leo thang đặc quyền trong dịch vụ ImControllerServices. Khai thác các lỗ hổng này, hacker có thể thực thi mã từ xa với quyền admin.
Lỗ hổng này được theo dõi dưới mã CVE-2021-3922 và CVE-2021-3969 và ảnh hưởng tới thành phần ImControllerService của tất cả các phiên bản Lenovo System Interface Foundation thấp hơn 1.1.20.3. Khi xem trong màn hình dịch vụ Windows, dịch vụ này sẽ hiển thị với tên gọi "System Interface Foundation Service".
ImControllerService giúp các thiết bị Lenovo giao tiếp với các ứng dụng universal như Lenovo Companion, Lenovo Settings và Lenovo ID. Dịch vụ này được cài đặt sẵn trên rất nhiều thiết bị Lenovo bao gồm cả Yoga và ThinkPad.
Các lỗ hổng trên được phát hiện bởi nhà nghiên cứu của NCC Group và họ đã báo cáo cho Lenovo vào ngày 29/10/2021. Phía Lenovo đã phát hành cập nhật bảo mật vào ngày 17/11/2021 trong khi tư vấn bảo mật liên quan được đưang tải vào ngày 14/12/2021.
Một thành phần hệ thống dễ bị tổn tương
Vì ImControllerService cần tìm nạp và cài đặt các tệp từ máy chủ Lenovo, thực thi các quy trình con và thực hiện các tác vụ cấu hình và bảo trì hệ thống nên nó chạy với đặc quyền cao nhất là SYSTEM.
Đặc quyền SYSTEM là quyền người dùng cao nhất hiện có của Windows, cho phép ai đó thực hiện hầu hết mọi lệnh trên hệ điều này. Về cơ bản, nếu có trong tay quyền SYSTEM, một người có thể kiểm soát hoàn toàn hệ thống để cài đặt mã độc, virus, thêm người dùng hoặc thay đổi hầu hết mọi cài đặt hệ thống.
Dịch vụ Windows này sẽ tạo ra các quy trình con khác, mở các máy chủ đường ống được đặt tên mà các dịch vụ ImController đã sử dụng để giao tiếp với quy trình con. Khi ImController cần một trong những dịch vụ này để thực thi một lệnh, nó sẽ kết nối với đường ống được đặt tên và đưa ra các lệnh XML đã được tuần tự hóa cần được thực thi.
Không may là các thông tin liên lạc giữa những chương trình con được cấp đặc quyền không được dịch vụ này xử lý một cách an toàn và không xác thực được nguồn của các lệnh XML đã được tuần tự hóa. Điều này có nghĩa là bất kỳ quy trình nào khác, ngay cả quy trình mã độc đều có thể kết nối với quy trình con để đưa ra các lệnh của riêng chúng.
Do vậy, kẻ tấn công có thể tận dụng lỗ hổng này để gửi hướng dẫn tải plugin từ một vị trí tùy ý trên hệ thống tệp.
Lỗ hổng thứ hai là lỗ của hệ thống kiểm tra thời gian sử dụng (TOCTOU) cho phép hacker ngừng quá trình tải của plugin ImControllerService đã được xác thực và thay thứ nó bằng một DLL do chúng lựa chọn.
Khi khóa được mở ra và quy trình tiếp tục tải, DLL sẽ được thực thi dẫn tới tấn công leo thang đặc quyền.
Cập nhật là giải pháp khắc phục duy nhất
Tất cả người dùng laptop và máy tính Lenovo đang chạy ImController phiên bản 1.1.20.2 trở lên cần nâng cấp lên phiên bản mới nhất hiện tại (1.1.20.3).
Để xác định phiên bản ImController đang chạy trên máy tính của mình bạn thực hiện các bước sau:
- Mở File Explorer rồi tìm tới C:\Windows\Lenovo\ImController\PluginHost\.
- Nhấp chuột phải vào Lenovo.Modern.ImController.PluginHost.exe rồi chọn Properties.
- Chọn thẻ Details.
- Đọc phiên bản của File.
Gỡ bỏ thành phần ImController hoặc Lenovo System Interface Foundation là một giải pháp không được khuyến khích bởi nó có thể ảnh hưởng tới một số chức năng trên máy tính của bạn. Tuy nhiên, nếu an toàn là trên hết đối với bạn thì đây cũng là một giải pháp mà bạn nên xem xét.