Các nhà nghiên cứu an ninh mạng vừa phát hiện ra những lỗ hổng nghiêm trọng, cho phép tin tặc thực thi mã từ xa trên các nền tảng trí tuệ nhân tạo (AI) hàng đầu. Các nền tảng bị ảnh hưởng bao gồm Meta, Nvidia, Microsoft và các dự án mã nguồn mở PyTorch như vLLM và SGLang.
Theo nhà nghiên cứu Avi Lumelsky của Oligo Security, nguyên nhân gốc rễ của các lỗ hổng này là do việc sử dụng không an toàn ZeroMQ (ZMQ) và quá trình giải mã pickle của Python. Ông gọi đây là một “ShadowMQ”, một kiểu lỗi bảo mật lan rộng do việc tái sử dụng mã.
Vấn đề bắt nguồn từ một lỗ hổng trong framework Llama của Meta (CVE-2024-50050), đã được vá vào tháng 10 năm ngoái. Lỗ hổng này nằm ở việc sử dụng hàm recv_pyobj() của ZeroMQ để giải mã dữ liệu đến bằng module pickle của Python. Do framework này cho phép kết nối ZeroMQ socket qua mạng, kẻ tấn công có thể gửi dữ liệu độc hại để thực thi mã tùy ý.
Oligo Security đã tìm thấy lỗi tương tự trong các framework suy luận khác như NVIDIA TensorRT-LLM, Microsoft Sarathi-Serve, Modular Max Server, vLLM và SGLang. Tất cả đều chứa các đoạn mã nguy hiểm gần như giống hệt nhau: giải mã pickle qua các socket ZMQ TCP không được xác thực.
Các nhà nghiên cứu phát hiện ra rằng, trong một số trường hợp, lỗi này xuất phát từ việc sao chép và dán mã trực tiếp. Ví dụ, file bị lỗi trong SGLang cho biết nó được điều chỉnh từ vLLM, trong khi Modular Max Server mượn logic tương tự từ cả vLLM và SGLang, vô tình nhân rộng lỗ hổng trên nhiều codebase.
Các lỗ hổng này đã được gán các mã định danh sau:
- CVE-2025-30165 (điểm CVSS: 8.0) – vLLM (Vấn đề này chưa được khắc phục hoàn toàn, nhưng đã được giải quyết bằng cách chuyển sang engine V1 mặc định)
- CVE-2025-23254 (điểm CVSS: 8.8) – NVIDIA TensorRT-LLM (Đã được sửa trong phiên bản 0.18.2)
- CVE-2025-60455 (điểm CVSS: N/A) – Modular Max Server (Đã sửa)
- Sarathi-Serve (Chưa được vá)
- SGLang (Đã triển khai các bản sửa lỗi chưa đầy đủ)
Với việc các inference engine đóng vai trò quan trọng trong cơ sở hạ tầng AI, việc xâm nhập thành công một nút duy nhất có thể cho phép kẻ tấn công thực thi mã tùy ý trên toàn bộ cụm máy chủ, leo thang đặc quyền, đánh cắp mô hình và thậm chí cài đặt các phần mềm độc hại như trình đào tiền ảo để kiếm lợi tài chính.
Ngoài ra, một báo cáo mới từ nền tảng bảo mật AI Knostic cho thấy rằng có thể xâm nhập trình duyệt tích hợp của Cursor thông qua các kỹ thuật chèn JavaScript. Thậm chí, kẻ tấn công có thể sử dụng một extension độc hại để kiểm soát máy trạm của nhà phát triển.
Cuộc tấn công đầu tiên liên quan đến việc đăng ký một máy chủ Model Context Protocol (MCP) giả mạo, cho phép kẻ tấn công thay thế các trang đăng nhập trong trình duyệt bằng một trang giả mạo để thu thập thông tin đăng nhập và gửi chúng đến một máy chủ từ xa do chúng kiểm soát.
Munis, một nhà nghiên cứu bảo mật cho biết: “Khi người dùng tải xuống và chạy máy chủ MCP bằng file mcp.json trong Cursor, nó sẽ chèn mã vào trình duyệt của Cursor, dẫn người dùng đến một trang đăng nhập giả mạo, đánh cắp thông tin đăng nhập của họ và gửi chúng đến một máy chủ từ xa.”
Do trình soạn thảo mã nguồn hỗ trợ AI này về cơ bản là một nhánh của Visual Studio Code, kẻ tấn công cũng có thể tạo ra một extension độc hại để chèn JavaScript vào IDE đang chạy, thực thi các hành động tùy ý, bao gồm cả việc đánh dấu các extension Open VSX vô hại là “độc hại”.
Để đối phó với những rủi ro này, người dùng nên tắt các tính năng tự động chạy trong IDE của họ, kiểm tra kỹ các extension, cài đặt máy chủ MCP từ các nhà phát triển và kho lưu trữ đáng tin cậy, kiểm tra dữ liệu và API mà máy chủ truy cập, sử dụng API key với quyền tối thiểu cần thiết và kiểm tra mã nguồn của máy chủ MCP để tìm các tích hợp quan trọng.
Giải thích thuật ngữ:
- ZeroMQ (ZMQ): Một thư viện phần mềm cung cấp các hàng đợi tin nhắn, cho phép các ứng dụng giao tiếp với nhau một cách nhanh chóng và linh hoạt.
- Pickle Deserialization: Một quá trình chuyển đổi dữ liệu đã được lưu trữ (pickle) trở lại thành đối tượng Python ban đầu. Quá trình này có thể nguy hiểm nếu dữ liệu pickle bị hỏng hoặc chứa mã độc.
- Inference Engine: Một thành phần của hệ thống AI, chịu trách nhiệm thực thi các mô hình đã được huấn luyện để đưa ra dự đoán hoặc quyết định.
- CVSS Score: Một hệ thống chấm điểm tiêu chuẩn để đánh giá mức độ nghiêm trọng của các lỗ hổng bảo mật.
- Model Context Protocol (MCP): Một giao thức cho phép các ứng dụng giao tiếp với các mô hình AI.