NVIDIAScape (CVE-2025-23266): Lỗ Hổng NVIDIA Container Toolkit Gây Thoát Container Root

Tổng Quan về Lỗ Hổng NVIDIA Container Toolkit #NVIDIAScape

NVIDIA Container Toolkit (NCT), một công cụ nền tảng cho các khối lượng công việc AI tăng tốc GPU trong môi trường đám mây, đã bị phát hiện chứa một lỗ hổng nghiêm trọng bởi Wiz Research. Lỗ hổng này được đặt tên là #NVIDIAScape và được theo dõi với mã CVE-2025-23266, với điểm CVSS 9.0 (Critical). Đây là một lỗ hổng cho phép các container độc hại vượt qua cơ chế cô lập và giành quyền truy cập root trên hệ thống máy chủ.

Thông Tin Cơ Bản về CVE-2025-23266

Lỗ hổng này bắt nguồn từ một cấu hình sai trong quá trình xử lý OCI hook của NVIDIA Container Toolkit. Các phiên bản NCT bị ảnh hưởng bao gồm tất cả các phiên bản lên đến 1.17.7. Đối với các bản phát hành trước 1.17.5, lỗ hổng này ảnh hưởng đến chế độ CDI. Ngoài ra, NVIDIA GPU Operator cũng bị ảnh hưởng ở các phiên bản lên đến 25.3.1.

Do vai trò trung tâm của NCT trong việc hỗ trợ các ứng dụng AI đòi hỏi hiệu năng cao, lỗ hổng này đặt ra một rủi ro hệ thống đáng kể. Kẻ tấn công có thể lợi dụng nó để xâm nhập vào cơ sở hạ tầng được chia sẻ và truy cập dữ liệu nhạy cảm trong các môi trường đa người thuê (multi-tenant) hoặc dịch vụ AI được quản lý.

Phân Tích Kỹ Thuật Lỗ Hổng

Khai thác lỗ hổng này dựa vào việc lạm dụng các createContainer hooks của thông số kỹ thuật runtime OCI. NCT sử dụng các hooks này để cấu hình quyền truy cập của container vào trình điều khiển NVIDIA và GPU của máy chủ.

Cơ Chế Khai Thác qua OCI Hooks

Điểm yếu chính nằm ở sự khác biệt cơ bản giữa createContainer hooks và prestart hooks. Trong khi prestart hooks hoạt động trong các ngữ cảnh cô lập, createContainer hooks lại kế thừa các biến môi trường từ image của container, theo định nghĩa của thông số kỹ thuật OCI. Việc thực thi createContainer hooks diễn ra sau khi không gian tên (namespace) được thiết lập nhưng trước khi pivot_root, một giai đoạn quan trọng trong quá trình khởi tạo container.

Sự kế thừa biến môi trường này tạo ra một điểm yếu nghiêm trọng: kẻ tấn công có thể thao túng các biến như LD_PRELOAD để chèn các đối tượng chia sẻ (shared objects) độc hại vào tiến trình nvidia-ctk có đặc quyền. Với thư mục làm việc của hook được đặt là hệ thống tệp gốc của container, một đường dẫn đơn giản đến tệp .so độc hại là đủ để thực thi mã độc.

Vai Trò của LD_PRELOAD

LD_PRELOAD là một biến môi trường Linux được sử dụng để chỉ định các thư viện chia sẻ mà trình tải động (dynamic linker) nên tải trước bất kỳ thư viện nào khác. Khi biến này được đặt trong một tiến trình có đặc quyền như nvidia-ctk, nó cho phép kẻ tấn công chèn mã độc vào tiến trình đó trước khi nó thực thi các chức năng hợp pháp của nó. Bằng cách kiểm soát LD_PRELOAD, kẻ tấn công có thể thực thi mã tùy ý với quyền hạn của tiến trình nvidia-ctk, mà trong trường hợp này, là quyền root trên máy chủ.

Khai Thác Lỗ Hổng và Bằng Chứng Khái Niệm (PoC)

Wiz Research đã phát hành một bằng chứng khái niệm (PoC) khai thác đơn giản để minh họa mức độ dễ dàng của lỗ hổng. PoC này chỉ yêu cầu một Dockerfile ba dòng:

FROM busybox
ENV LD_PRELOAD /proc/self/cwd/poc.so
COPY poc.so /poc.so

Giải thích PoC:

  • Dòng đầu tiên khởi tạo một image container cơ bản từ Busybox.
  • Dòng thứ hai đặt biến môi trường LD_PRELOAD thành /proc/self/cwd/poc.so. /proc/self/cwd trỏ đến thư mục làm việc hiện tại của tiến trình, mà trong ngữ cảnh của createContainer hook, là hệ thống tệp gốc của container.
  • Dòng thứ ba sao chép thư viện độc hại (poc.so) vào thư mục gốc của container.

Khi container này được chạy với NVIDIA runtime và cờ GPU, hook sẽ tải payload độc hại thông qua LD_PRELOAD. Điều này cấp cho kẻ tấn công quyền root trên máy chủ. Ví dụ PoC đã được minh họa bằng cách thực thi lệnh 'id' và ghi đầu ra vào tệp /owned trên hệ thống máy chủ, chứng minh việc giành được đặc quyền.

Tác Động và Rủi Ro Hệ Thống

Lỗ hổng này có thể so sánh với các vụ thoát container trước đây mà Wiz đã phát hiện trong Replicate và DigitalOcean, nhấn mạnh những điểm yếu lặp lại trong chuỗi cung ứng bảo mật AI. Vấn đề này đặc biệt nghiêm trọng trong các dịch vụ AI được quản lý trên các cụm GPU được chia sẻ, nơi các container không đáng tin cậy có thể cho phép đánh cắp dữ liệu hoặc thao túng mô hình trên nhiều khách hàng.

Nguy Cơ trong Môi Trường Đám Mây và AI

Trong các môi trường đám mây, nơi tài nguyên thường được chia sẻ giữa nhiều người thuê, lỗ hổng này cho phép kẻ tấn công vượt qua ranh giới cô lập giữa các container và máy chủ. Điều này có thể dẫn đến việc kiểm soát hoàn toàn hệ thống máy chủ, cho phép truy cập vào dữ liệu nhạy cảm của các người thuê khác hoặc gián đoạn các khối lượng công việc AI quan trọng. Đối với các tổ chức dựa vào các dịch vụ AI tăng tốc GPU, rủi ro này là đáng kể, có khả năng dẫn đến vi phạm dữ liệu, gián đoạn dịch vụ và thiệt hại về danh tiếng.

Vector Tấn Công Ban Đầu

Các vector truy cập ban đầu để khai thác lỗ hổng này bao gồm kỹ thuật xã hội, các cuộc tấn công chuỗi cung ứng hoặc tải image tùy ý, giúp kẻ tấn công bỏ qua nhu cầu tiếp xúc công khai với hệ thống bị ảnh hưởng.

Bối Cảnh và Nghiên Cứu Trước Đó

Nghiên cứu của Wiz Research về #NVIDIAScape là một phần mở rộng của các tiết lộ trước đó, bao gồm CVE-2024-0132. Điều này làm nổi bật các lỗ hổng đang tồn tại trong các ngăn xếp AI, từ cơ sở hạ tầng như Hugging Face đến các công cụ như Ollama, nhấn mạnh một mô hình lặp lại của các lỗ hổng nền tảng trong không gian AI đang phát triển nhanh chóng.

Biện Pháp Giảm Thiểu và Khắc Phục

NVIDIA đã phát hành bản vá và khuyến nghị nâng cấp ngay lập tức lên các phiên bản NCT đã được vá lỗi. Wiz cũng cung cấp một truy vấn trong Trung tâm Tình báo Đe dọa của họ để xác định các phiên bản dễ bị tấn công.

Nâng Cấp và Ưu Tiên

Ưu tiên vá lỗi nên tập trung vào các máy chủ đang chạy các image không đáng tin cậy. Việc này nên được bổ sung bằng cách xác thực runtime để xác nhận việc sử dụng toolkit đang hoạt động.

Giải Pháp Tạm Thời cho Hệ Thống Không Thể Vá

Đối với các hệ thống không thể vá lỗi ngay lập tức, có thể áp dụng các giải pháp tạm thời sau đây để vô hiệu hóa hook enable-cuda-compat:

Chế Độ NCT Cũ (Legacy NCT Mode)

Chỉnh sửa tệp cấu hình /etc/nvidia-container-toolkit/config.toml và đặt giá trị sau thành true:

features.disable-cuda-compat-lib-hook = true

NVIDIA GPU Operator

Để áp dụng biện pháp giảm thiểu cho GPU Operator, bạn có thể thực hiện một trong các cách sau:

1. Thêm disable-cuda-compat-lib-hook vào NVIDIA_CONTAINER_TOOLKIT_OPT_IN_FEATURES qua đối số Helm:

helm upgrade --install nvidia-gpu-operator nvidia/gpu-operator \
  --set toolkit.enabled=true \
  --set toolkit.env[0].name=NVIDIA_CONTAINER_TOOLKIT_OPT_IN_FEATURES \
  --set toolkit.env[0].value="disable-cuda-compat-lib-hook"

2. Triển khai trực tiếp phiên bản v1.17.8 với các tag cụ thể của nền tảng như ubuntu20.04 hoặc ubi8:

# Ví dụ cho Ubuntu 20.04
helm upgrade --install nvidia-gpu-operator nvidia/gpu-operator \
  --set toolkit.repository=nvcr.io/nvidia/container-toolkit \
  --set toolkit.image=container-toolkit \
  --set toolkit.tag=1.17.8-ubuntu20.04

# Ví dụ cho UBI8
helm upgrade --install nvidia-gpu-operator nvidia/gpu-operator \
  --set toolkit.repository=nvcr.io/nvidia/container-toolkit \
  --set toolkit.image=container-toolkit \
  --set toolkit.tag=1.17.8-ubi8

Việc nâng cấp lên NVIDIA GPU Operator 25.3.1 hoặc cao hơn cũng sẽ giải quyết vấn đề này. Điều quan trọng là phải đảm bảo các bản vá được áp dụng đúng cách để loại bỏ lỗ hổng.

Lộ Trình Công Bố Lỗ Hổng

Lộ trình công bố lỗ hổng này diễn ra theo các mốc thời gian chính sau:

  • Ngày 17 tháng 5 năm 2025: Wiz báo cáo lỗ hổng cho NVIDIA trong sự kiện Pwn2Own Berlin.
  • Ngày 15 tháng 7 năm 2025: Lỗ hổng được gán mã CVE (CVE-2025-23266) và NVIDIA phát hành bản tin bảo mật.
  • Sau ngày 15 tháng 7 năm 2025: Thông tin chi tiết về lỗ hổng được công bố rộng rãi.

Ý Nghĩa Rộng Hơn đối với Bảo Mật AI

Lỗ hổng này củng cố quan điểm rằng các mối đe dọa bảo mật AI thường xuất phát từ những lỗ hổng trong cơ sở hạ tầng nền tảng hơn là các cuộc tấn công do AI thúc đẩy. Điều này đặt ra yêu cầu cấp bách cho các nhóm phát triển và vận hành AI phải thực thi các biện pháp kiểm soát chặt chẽ đối với các nguồn mô hình (model sources) và tính toàn vẹn của container trong các đường ống AI (AI pipelines) đang phát triển nhanh chóng. Việc đảm bảo an ninh từ cấp độ cơ sở hạ tầng là tối quan trọng để bảo vệ các ứng dụng và dữ liệu AI.