Các nhà nghiên cứu phát hiện lỗ hổng AI nghiêm trọng ảnh hưởng đến các framework suy luận của Meta, Nvidia và Microsoft

Các nhà nghiên cứu an ninh mạng đã phát hiện ra các lỗ hổng thực thi mã từ xa (RCE) nghiêm trọng ảnh hưởng đến các công cụ suy luận trí tuệ nhân tạo (AI) lớn, bao gồm các công cụ từ Meta, Nvidia, Microsoft và các dự án PyTorch mã nguồn mở như vLLM và SGLang. "Tất cả các lỗ hổng này đều bắt nguồn từ cùng một nguyên nhân gốc rễ: việc sử dụng ZeroMQ (ZMQ) không an toàn bị bỏ qua và deserialization bằng pickle của Python,"
Các lỗ hổng RCE trong các công cụ suy luận AI của Meta, Nvidia, Microsoft
Các lỗ hổng RCE trong các công cụ suy luận AI của Meta, Nvidia, Microsoft

Các nhà nghiên cứu an ninh mạng đã phát hiện ra các lỗ hổng thực thi mã từ xa (RCE) nghiêm trọng ảnh hưởng đến các công cụ suy luận trí tuệ nhân tạo (AI) lớn, bao gồm các công cụ từ Meta, Nvidia, Microsoft và các dự án PyTorch mã nguồn mở như vLLM và SGLang.

"Tất cả các lỗ hổng này đều bắt nguồn từ cùng một nguyên nhân gốc rễ: việc sử dụng ZeroMQ (ZMQ) không an toàn bị bỏ qua và deserialization bằng pickle của Python," nhà nghiên cứu Avi Lumelsky của Oligo Security cho biết trong một báo cáo được công bố vào thứ Năm.

Về bản chất, vấn đề xuất phát từ một mẫu hình được gọi là ShadowMQ, trong đó logic deserialization không an toàn đã lan truyền đến nhiều dự án do việc tái sử dụng mã.

Nguyên nhân gốc rễ là một lỗ hổng trong framework LLM Llama của Meta (CVE-2024-50050, CVSS score: 6.3/9.3) đã được công ty vá vào tháng 10 năm ngoái. Cụ thể, nó liên quan đến việc sử dụng phương thức recv_pyobj() của ZeroMQ để deserialization dữ liệu đến bằng module pickle của Python.

Điều này, cùng với việc framework đã phơi bày ZeroMQ socket qua mạng, đã mở ra kịch bản mà kẻ tấn công có thể thực thi mã tùy ý bằng cách gửi dữ liệu độc hại để deserialization. Vấn đề cũng đã được khắc phục trong thư viện pyzmq của Python.

Oligo sau đó đã phát hiện ra cùng một mẫu hình tái diễn 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 mẫu hình không an toàn gần như giống hệt nhau: deserialization bằng pickle qua các ZMQ TCP socket không được xác thực," Lumelsky cho biết. "Các nhà bảo trì khác nhau và các dự án được duy trì bởi các công ty khác nhau – tất cả đều mắc cùng một lỗi."

Truy tìm nguồn gốc của vấn đề, Oligo phát hiện ra rằng trong ít nhất một vài trường hợp, đó là kết quả của việc sao chép mã trực tiếp. Ví dụ, tệp dễ bị tấn công trong SGLang cho biết nó được điều chỉnh bởi vLLM, trong khi Modular Max Server đã mượn cùng logic từ cả vLLM và SGLang, do đó làm cho lỗi tương tự kéo dài qua các codebase.

Các định danh lỗ hổng

  • CVE-2025-30165 (CVSS score: 8.0) - vLLM (Mặc dù vấn đề chưa được khắc phục hoàn toàn, nhưng nó đã được giải quyết bằng cách chuyển sang công cụ V1 theo mặc định)
  • CVE-2025-23254 (CVSS score: 8.8) - NVIDIA TensorRT-LLM (Đã khắc phục trong phiên bản 0.18.2)
  • CVE-2025-60455 (CVSS score: N/A) - Modular Max Server (Đã khắc phục)
  • Sarathi-Serve (Vẫn chưa được vá)
  • SGLang (Đã triển khai các bản sửa lỗi không hoàn chỉnh)

Với vai trò là một thành phần quan trọng trong cơ sở hạ tầng AI, việc một công cụ suy luận bị xâm phạm thành công có thể cho phép kẻ tấn công thực thi mã tùy ý trên cụm, leo thang đặc quyền, đánh cắp mô hình và thậm chí thả các payload độc hại như công cụ đào tiền điện tử để thu lợi tài chính.

"Các dự án đang phát triển với tốc độ đáng kinh ngạc, và việc mượn các thành phần kiến trúc từ các đồng nghiệp là điều phổ biến," Lumelsky nói. "Nhưng khi việc tái sử dụng mã bao gồm các mẫu hình không an toàn, hậu quả sẽ lan rộng nhanh chóng."

Các lỗ hổng bảo mật trong Cursor AI

Tiết lộ này được đưa ra khi một báo cáo mới từ nền tảng bảo mật AI Knostic đã phát hiện ra rằng có thể xâm phạm trình duyệt tích hợp mới của Cursor thông qua các kỹ thuật JavaScript injection, chưa kể đến việc tận dụng một extension độc hại để tạo điều kiện cho JavaScript injection nhằm 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) cục bộ độc hại vượt qua các kiểm soát của Cursor để 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à chuyển chúng đến một máy chủ từ xa dưới sự kiểm soát của chúng.

"Khi người dùng tải xuống và chạy máy chủ MCP, sử dụng tệp mcp.json trong Cursor, nó đã inject 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, nơi đá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," nhà nghiên cứu bảo mật Dor Munis cho biết.

Với việc trình chỉnh sửa mã nguồn hỗ trợ AI về cơ bản là một bản fork của Visual Studio Code, một kẻ tấn công cũng có thể tạo một extension độc hại để inject JavaScript vào IDE đang chạy nhằm thực hiện 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."

"JavaScript chạy bên trong Node.js interpreter, dù được đưa vào bởi một extension, một máy chủ MCP, hay một prompt hoặc rule bị nhiễm độc, sẽ ngay lập tức thừa hưởng các đặc quyền của IDE: quyền truy cập đầy đủ vào hệ thống tệp, khả năng sửa đổi hoặc thay thế các chức năng của IDE (bao gồm cả các extension đã cài đặt), và khả năng duy trì mã tự gắn lại sau khi khởi động lại," công ty cho biết.

"Khi có thể thực thi ở cấp độ interpreter, kẻ tấn công có thể biến IDE thành một nền tảng phân phối và trích xuất malware."

Để chống lại những rủi ro này, điều cần thiết là người dùng phải tắt các tính năng Auto-Run 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à các máy chủ truy cập, sử dụng API keys với quyền tối thiểu cần thiết và kiểm tra mã nguồn máy chủ MCP để tìm các tích hợp quan trọng.