Lỗ hổng CVE nghiêm trọng: Parallels Desktop dễ bị tấn công root

Lỗ hổng CVE nghiêm trọng: Parallels Desktop dễ bị tấn công root
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 cục bộ nghiêm trọng trong Parallels Desktop cho Mac có thể cho phép người dùng không phải quản trị viên hoặc tiến trình không có đặc quyền thực thi mã do kẻ tấn công kiểm soát với các đặc quyền root.

Lỗ hổng Leo thang Đặc quyền trên Parallels Desktop

Lỗ hổng này, được theo dõi với mã CVE-2026-90894 và được đặt tên là “ParaShells”, đã được xác nhận trên Parallels Desktop phiên bản 26.4.0 build 57513 trên các máy Mac sử dụng Apple Silicon. Lỗi này đã được Parallels khắc phục trong phiên bản 27.0.0.

Cuộc tấn công nhắm vào prl_disp_service, một daemon máy chủ được ủy quyền mà Parallels Desktop sử dụng để thực hiện các thao tác nhạy cảm. Các thao tác này bao gồm quản lý máy ảo, cấu hình mạng và cài đặt các gói ứng dụng.

Do prl_disp_service chạy với quyền root, các yêu cầu không an toàn gửi đến nó có thể mở ra con đường trực tiếp dẫn đến việc chiếm quyền kiểm soát toàn bộ hệ thống. Lỗ hổng này kết hợp ba điểm yếu bảo mật: một Unix socket có quyền ghi cho mọi người (world-writable), cơ chế xác thực máy khách cục bộ yếu kém và tiêm tham số trong quá trình giải nén ứng dụng.

Chi tiết về Cuộc tấn công

Trên một cài đặt mặc định, prl_disp_service lắng nghe thông qua /var/run/prl_disp_service.socket. Các nhà nghiên cứu từ Jfrog đã phát hiện ra rằng socket này có thể có quyền 0777, cho phép bất kỳ tiến trình cục bộ nào kết nối.

Hàm PrlSrv_LoginLocal được báo cáo là chấp nhận kết nối dựa trên thông tin xác thực ngang hàng của hệ điều hành thay vì xác nhận rằng máy khách đã được Parallels ký. Điều này có nghĩa là một máy khách không được ký chạy dưới tài khoản người dùng tiêu chuẩn có thể xác thực thành công.

Sau khi kết nối, kẻ tấn công có thể gọi thao tác PrlSrv_InstallAppliance và cung cấp một đường dẫn thư mục cha của máy ảo độc hại.

Trong quá trình cài đặt ứng dụng, dịch vụ sẽ xây dựng một lệnh giải nén tar bằng cách sử dụng các giá trị đường dẫn do kẻ tấn công kiểm soát. Lệnh này được chia thành các đối số thông qua hàm QProcess::splitCommand của Qt.

Bằng cách đặt một dấu ngoặc kép bên trong đường dẫn cha, kẻ tấn công có thể kết thúc giá trị được trích dẫn dự kiến và tiêm thêm một tùy chọn tar. Tùy chọn được tiêm, --use-compress-program, hướng dẫn tiện ích tar của macOS khởi chạy một chương trình bên ngoài trong khi xử lý kho lưu trữ.

prl_disp_service khởi chạy tar với quyền root, chương trình do kẻ tấn công kiểm soát cũng sẽ chạy với các đặc quyền root. Đây là một dạng tiêm tham số (argument injection) chứ không phải là tiêm lệnh shell truyền thống. Các ký tự đặc biệt của shell là không cần thiết vì kẻ tấn công thao túng trực tiếp danh sách đối số được truyền tới tar.

Yêu cầu Khai thác và Tác động

Một máy ảo đang chạy không cần thiết. Bản khai thác được trình diễn chỉ yêu cầu Parallels Desktop, dịch vụ được ủy quyền đang hoạt động và socket, cùng với quyền truy cập vào một tài khoản cục bộ có ít đặc quyền.

Các nguồn tấn công tiềm năng bao gồm các gói phần mềm độc hại, các công việc tích hợp liên tục bị xâm phạm, các script cài đặt npm bị nhiễm độc, các công thức Homebrew hoặc bất kỳ mã nào khác đang thực thi dưới dạng người dùng tiêu chuẩn.

Việc khai thác thành công có thể cho phép kẻ tấn công truy cập các tệp của người dùng khác, sửa đổi phần mềm hệ thống, cài đặt các daemon khởi chạy liên tục, thay đổi cấu hình sudo và chiếm quyền kiểm soát hoàn toàn máy Mac bị ảnh hưởng.

Khuyến nghị Bảo mật

Các quản trị viên nên kiểm kê các hệ thống đang chạy Parallels Desktop và ngay lập tức nâng cấp các cài đặt bị ảnh hưởng lên phiên bản 27.0.0 trở lên. Cho đến khi các bản cập nhật có thể được triển khai, các tổ chức nên hạn chế quyền truy cập của tài khoản cục bộ và giám sát chặt chẽ các hệ thống có phơi nhiễm socket điều phối.

Người dùng có thể kiểm tra phiên bản đã cài đặt thông qua cửa sổ “About” của Parallels Desktop hoặc kiểm tra các giá trị CFBundleShortVersionStringCFBundleVersion của ứng dụng. Các hệ thống chạy bản dựng 57513 với prl_disp_service.socket có quyền ghi cho mọi người (world-writable) nên được coi là bị phơi nhiễm cho đến khi việc khắc phục được xác nhận.

Bạn có thể tìm hiểu thêm về các lỗ hổng tương tự và các mối đe dọa bảo mật khác trên các nguồn uy tín như MITRE CVE.