Một lỗ hổng bảo mật mới được phát hiện trong Google Cloud Vertex AI có thể cho phép kẻ tấn công chiếm quyền kiểm soát quá trình tải lên các mô hình học máy và thực thi mã độc trong môi trường của nạn nhân. Nghiên cứu này được chia sẻ với Google theo quy trình báo cáo lỗ hổng có trách nhiệm. Lỗ hổng này ảnh hưởng đến SDK Python của Vertex AI (google-cloud-aiplatform) và xuất phát từ sự kết hợp của việc đặt tên các kho lưu trữ đám mây có thể dự đoán được và thiếu xác thực quyền sở hữu.
Phân tích chi tiết lỗ hổng
Các nhà nghiên cứu đã xác nhận rằng các phiên bản 1.139.0 và 1.140.0 của SDK Python Vertex AI đặt các tổ chức vào rủi ro bị nhiễm độc mô hình (model poisoning) và thực thi mã từ xa (RCE) mà không yêu cầu bất kỳ quyền truy cập ban đầu nào vào dự án đám mây của nạn nhân. Vertex AI là một nền tảng được sử dụng rộng rãi để xây dựng và triển khai các mô hình học máy.
Cơ chế hoạt động của cuộc tấn công
Khi nhà phát triển tải lên các mô hình bằng SDK, các tệp tạo tác (artifacts) sẽ được lưu trữ tạm thời trong một kho lưu trữ Google Cloud Storage (GCS) trước khi triển khai. Lỗ hổng xảy ra khi người dùng không chỉ định một kho lưu trữ tạm thời, khiến SDK tự động tạo một kho lưu trữ bằng cách sử dụng một mẫu đặt tên có thể dự đoán được.
SDK chỉ xác minh xem kho lưu trữ có tồn tại hay không, chứ không xác minh quyền sở hữu của kho lưu trữ đó, tạo cơ hội cho việc chiếm đoạt kho lưu trữ. Hành vi này cho phép một kỹ thuật được gọi là “bucket squatting”, trong đó kẻ tấn công tạo trước kho lưu trữ có tên dự kiến trong dự án của riêng họ.
Kết quả là, các tệp tạo tác mô hình của nạn nhân sẽ được tải lên một cách âm thầm vào cơ sở hạ tầng do kẻ tấn công kiểm soát. Các nhà nghiên cứu đã đặt tên cho phương pháp khai thác này là “Pickle in the Middle”, vì nó tận dụng cơ chế giải tuần tự hóa (deserialization) của Python pickle để đạt được việc thực thi mã.
Các bước khai thác “Pickle in the Middle”
Cuộc tấn công diễn ra theo nhiều giai đoạn:
- Kẻ tấn công thiết lập một kho lưu trữ GCS với tên dự đoán mà SDK sẽ tạo ra.
- Khi nạn nhân cố gắng tải lên một mô hình học máy bằng SDK bị lỗi, tệp tạo tác mô hình của họ sẽ được gửi đến kho lưu trữ do kẻ tấn công kiểm soát thay vì kho lưu trữ tạm thời dự kiến.
- Kẻ tấn công nhanh chóng thay thế tệp tạo tác mô hình của nạn nhân bằng một tệp độc hại chứa mã tùy ý được đóng gói bằng pickle.
- Dịch vụ triển khai Vertex AI sẽ tải xuống và giải tuần tự hóa tệp tạo tác độc hại, dẫn đến việc thực thi mã tùy ý trên máy chủ Vertex AI.
Quá trình này diễn ra trong một khoảng thời gian rất hẹp, khoảng 2.5 giây, cho phép kẻ tấn công thay thế mô hình trước khi nó được sử dụng bởi tác nhân dịch vụ của Google. Việc khai thác thành công cho phép thực thi mã từ xa hoàn toàn trong môi trường phục vụ của Vertex AI.
Hậu quả của việc khai thác
Trong các thử nghiệm chứng minh khái niệm (proof-of-concept), kẻ tấn công đã có thể:
- Thực thi mã từ xa (RCE) trên môi trường Vertex AI.
- Truy cập vào các thông tin xác thực nhạy cảm được lưu trữ trong môi trường, bao gồm các khóa API và token truy cập.
Đáng chú ý, các thông tin xác thực bị xâm phạm mang phạm vi quyền hạn rộng trên nền tảng đám mây, làm tăng đáng kể phạm vi ảnh hưởng của cuộc tấn công.
Chi tiết kỹ thuật và nguyên nhân gốc rễ
Theo các nhà nghiên cứu Unit 42 tại Palo Alto Networks, lỗ hổng này bắt nguồn từ logic lưu trữ tạm thời của SDK trong mô-đun gcs_utils.py. Tại đây, tên kho lưu trữ được tạo ra một cách có thể dự đoán được và chỉ được xác minh về sự tồn tại, mà không xác minh quyền sở hữu. Thiết kế lỗi này cho phép lạm dụng tài nguyên giữa các dự án, phá vỡ sự cô lập giữa các tenant.
CVE ID: Mặc dù nội dung gốc không đề cập cụ thể, các lỗ hổng loại này thường được gán một CVE ID để theo dõi. Người dùng nên kiểm tra các bản tin bảo mật của Google hoặc NVD để tìm thông tin chi tiết.
CVSS Score: Lỗ hổng được báo cáo với mức độ nghiêm trọng cao. Dựa trên khả năng thực thi mã từ xa và phạm vi ảnh hưởng rộng, điểm CVSS có thể nằm trong khoảng 9.0 – 10.0 (Critical).
Các biện pháp khắc phục và khuyến nghị
Google đã giải quyết vấn đề này thông qua nhiều bản cập nhật. Bản sửa lỗi đầu tiên đã giới thiệu việc đặt tên kho lưu trữ ngẫu nhiên bằng UUID, trong khi bản vá thứ hai bổ sung việc xác minh quyền sở hữu kho lưu trữ rõ ràng. Các lỗ hổng đã được khắc phục hoàn toàn trong phiên bản 1.148.0, phát hành vào ngày 15 tháng 4 năm 2026.
Khuyến nghị cho nhà phát triển
Các nhà phát triển được khuyến nghị mạnh mẽ thực hiện các hành động sau:
- Cập nhật ngay lập tức SDK Python Vertex AI lên phiên bản mới nhất (1.148.0 trở lên).
- Luôn chỉ định một kho lưu trữ tạm thời rõ ràng khi sử dụng SDK, thay vì dựa vào cơ chế tạo tên mặc định.
- Kiểm tra và xác thực quyền sở hữu của các kho lưu trữ đám mây được sử dụng cho mục đích lưu trữ tạm thời.
Khuyến nghị cho tổ chức
Các tổ chức sử dụng nền tảng AI được quản lý nên áp dụng các biện pháp kiểm soát chặt chẽ hơn đối với lưu trữ, danh tính và xác thực mô hình để ngăn chặn các cuộc tấn công tương tự. Việc cập nhật bản vá kịp thời cho các công cụ và thư viện là vô cùng quan trọng để duy trì an toàn thông tin.
Lỗ hổng này được báo cáo thông qua Chương trình Phần thưởng Lỗ hổng của Google và được gán mức độ nghiêm trọng cao. Google đã triển khai các bản sửa lỗi nhanh chóng sau khi công bố vào tháng 3 năm 2026. Các chuyên gia bảo mật nhấn mạnh vấn đề này là một ví dụ điển hình về các rủi ro mới nổi trong các quy trình AI/ML, nơi các cuộc tấn công theo kiểu chuỗi cung ứng có thể nhắm mục tiêu vào các tệp tạo tác mô hình thay vì các thành phần phần mềm truyền thống.
Để biết thêm thông tin chi tiết về các biện pháp bảo mật và các cảnh báo mới nhất, người dùng có thể tham khảo các nguồn tin cậy như CISA hoặc các bản tin bảo mật chính thức từ Google Cloud.










