Một lỗ hổng CVE nghiêm trọng liên quan đến lỗi hỏng bộ nhớ đã được phát hiện trong các phiên bản vLLM từ 0.10.2 trở lên. Lỗ hổng này cho phép kẻ tấn công thực hiện remote code execution thông qua điểm cuối API Completions bằng cách gửi các embedding của lời nhắc được tạo thủ công có chứa mã độc.
Phân Tích Kỹ Thuật Lỗ Hổng Hỏng Bộ Nhớ (Memory Corruption) trong vLLM
Lỗ hổng này được xác định với mã khuyến nghị bảo mật GHSA-mrw7-hf4f-83pf, nằm trong quá trình deserialization tensor của vLLM, cụ thể tại dòng 148 của tệp entrypoints/renderer.py. Sự cố xảy ra khi hệ thống xử lý các embedding của lời nhắc do người dùng cung cấp mà không có sự kiểm tra xác thực đầy đủ.
Cơ Chế Gây Lỗi và Kỹ Thuật Khai Thác
Khi xử lý dữ liệu đầu vào, vLLM sử dụng hàm torch.load() để tải các tensor đã được serialize. Tuy nhiên, quá trình này thiếu các bước kiểm tra xác thực đầy đủ đối với dữ liệu đầu vào. Điều này tạo ra một vectơ tấn công đáng kể, cho phép kẻ tấn công chèn dữ liệu độc hại.
Một thay đổi quan trọng đã được giới thiệu trong PyTorch 2.8.0 là việc vô hiệu hóa mặc định các kiểm tra toàn vẹn của sparse tensor. Sự thay đổi này, kết hợp với việc thiếu xác thực đầu vào trong vLLM, đã tạo điều kiện cho các tác nhân độc hại khai thác lỗ hổng CVE này.
Kẻ tấn công có thể tạo ra các tensor độc hại được thiết kế đặc biệt để vượt qua các kiểm tra giới hạn nội bộ của hệ thống. Khi các tensor này được chuyển đổi thành định dạng dày đặc (dense) thông qua hàm to_dense(), chúng kích hoạt một lỗi ghi tràn bộ nhớ (out-of-bounds memory write).
Lỗi ghi tràn bộ nhớ là nguyên nhân trực tiếp gây ra sự hỏng bộ nhớ. Hậu quả tức thì của việc này có thể là máy chủ vLLM bị treo đột ngột, dẫn đến tình trạng từ chối dịch vụ (Denial-of-Service – DoS) nghiêm trọng đối với các ứng dụng dựa trên vLLM.
Nghiêm trọng hơn, nếu kẻ tấn công có thể kiểm soát đủ các vùng bộ nhớ bị ghi đè, lỗ hổng này có tiềm năng cho phép thực thi mã tùy ý (arbitrary code execution) từ xa trong tiến trình máy chủ vLLM. Điều này đồng nghĩa với việc kẻ tấn công có thể giành quyền kiểm soát hoàn toàn máy chủ và các tài nguyên liên quan.
Phạm Vi Ảnh Hưởng và Rủi Ro Bảo Mật
Lỗ hổng CVE này ảnh hưởng đến tất cả các triển khai đang chạy vLLM dưới dạng máy chủ, đặc biệt là những hệ thống thực hiện deserialization các payload không đáng tin cậy hoặc được cung cấp bởi mô hình. Các môi trường này thường xuyên tiếp nhận và xử lý dữ liệu từ nhiều nguồn khác nhau, làm tăng bề mặt tấn công.
Các Kịch Bản Tấn Công Tiềm Năng và Quyền Hạn
- Bất kỳ người dùng nào có quyền truy cập API đều có thể khai thác lỗ hổng CVE này.
- Cuộc tấn công không yêu cầu các đặc quyền đặc biệt trên hệ thống, điều này khiến nó có thể được thực hiện bởi cả người dùng đã xác thực lẫn chưa xác thực, tùy thuộc vào cấu hình API cụ thể của vLLM.
- Việc không yêu cầu đặc quyền cao giúp kẻ tấn công dễ dàng tiếp cận và khai thác, làm tăng mức độ rủi ro đối với các hệ thống vLLM công khai hoặc có API tiếp xúc.
Đối Tượng Chịu Rủi Ro Cao
Các tổ chức đang sử dụng vLLM trong môi trường sản xuất, các triển khai trên đám mây (cloud deployments) hoặc trong cơ sở hạ tầng dùng chung phải đối mặt với rủi ro đáng kể. Khai thác thành công lỗ hổng hỏng bộ nhớ này có thể dẫn đến việc toàn bộ máy chủ vLLM và các hệ thống liền kề bị xâm phạm. Mối đe dọa từ remote code execution là cực kỳ nghiêm trọng, vì nó có thể cho phép kẻ tấn công cài đặt mã độc, đánh cắp dữ liệu nhạy cảm, chiếm quyền điều khiển tài nguyên tính toán, hoặc thậm chí là làm gián đoạn hoàn toàn hoạt động của dịch vụ.
Biện Pháp Khắc Phục và Giảm Thiểu Lỗ Hổng
Để bảo vệ hệ thống khỏi lỗ hổng CVE này, các quản trị viên và nhà phát triển cần thực hiện ngay lập tức các hành động khắc phục và giảm thiểu được khuyến nghị.
Cập Nhật Bản Vá Khẩn Cấp
Dự án vLLM đã chính thức khắc phục lỗ hổng này trong pull request #27204. Người dùng được khuyến nghị mạnh mẽ nên nâng cấp ngay lập tức lên phiên bản vLLM đã được vá lỗi để đảm bảo an toàn cho hệ thống của mình, tránh các cuộc tấn công khai thác remote code execution.
Thông tin chi tiết về bản vá và khuyến nghị bảo mật có thể được tìm thấy tại nguồn đáng tin cậy: vLLM GitHub Security Advisory (GHSA-mrw7-hf4f-83pf). Việc theo dõi và áp dụng các bản vá bảo mật là yếu tố then chốt để duy trì an ninh mạng.
Giải Pháp Giảm Thiểu Tạm Thời
Trong trường hợp không thể cập nhật ngay lập tức lên phiên bản mới nhất, các biện pháp giảm thiểu sau đây có thể được áp dụng để hạn chế rủi ro khai thác lỗ hổng CVE này:
- Hạn chế Quyền Truy Cập API: Quản trị viên nên giới hạn quyền truy cập API của vLLM chỉ dành cho những người dùng đáng tin cậy và có nhu cầu thiết yếu. Việc triển khai các cơ chế xác thực mạnh mẽ và kiểm soát quyền truy cập dựa trên nguyên tắc đặc quyền tối thiểu là một hàng rào bảo vệ quan trọng.
- Triển khai Lớp Xác Thực Đầu Vào: Thực hiện các lớp xác thực đầu vào mạnh mẽ để kiểm tra và làm sạch (sanitize) các prompt embedding trước khi chúng được đưa vào pipeline xử lý của vLLM. Các lớp này có thể phát hiện và chặn các payload độc hại trước khi chúng có thể gây hại cho hệ thống.
Việc áp dụng kết hợp các biện pháp này sẽ giúp giảm thiểu nguy cơ khai thác lỗ hổng và bảo vệ tính toàn vẹn cũng như khả năng hoạt động liên tục của hệ thống.
Ghi Nhận Phát Hiện Lỗ Hổng
Lỗ hổng này được phát hiện và công bố một cách có trách nhiệm bởi Nhóm Nghiên cứu Bảo mật AXION Security Research Team. Việc phát hiện và công bố lỗ hổng một cách có trách nhiệm đóng vai trò quan trọng trong việc tăng cường an ninh cho hệ sinh thái hạ tầng AI, thúc đẩy việc phát triển các giải pháp bảo mật mạnh mẽ hơn.










