
NVIDIA CUDA 爆漏洞!你的 AI 訓練環境還安全嗎?
NVIDIA 的 CUDA 工具包對於 GPU 程式設計至關重要,其 cuobjdump 和 nvdisasm 實用程式存在漏洞。研究人員對 CUDA 工具包中的 cuobjdump 和 nvdisasm 兩個工具進行了深入的模糊測試(Fuzz test),並確認了 九個潛在的安全風險,涵蓋整數溢位和越界讀取兩種漏洞類型。文章強調,儘管這些工具本身不直接執行 CUDA 程式碼,但它們對於開發者分析和優化 GPU 程式至關重要,因此這些漏洞可能會對開發環境造成影響。這些用於分析 CUDA 二進位的工具被發現有九個漏洞: cuobjdump 中六個,nvdisasm 中三個。利用這些漏洞可能會導致有限的拒絕服務(DoS) 或資訊外洩。 NVIDIA 已於 2025 年 2 月發布了安全性更新來解決這些問題。 建議使用者更新到最新的 CUDA Toolkit 版本。

執行摘要
NVIDIA 運算統一裝置架構 (CUDA) 工具包的兩個實用程式 cuobjdump 和 nvdisasm 中發現的九個漏洞。 NVIDIA 已於 2025 年 2 月發布了更新來解決這些問題。這些漏洞被追蹤為以下常見漏洞和暴露 (CVE):
- CVE-2024-53870 :
整數溢位漏洞(Integer overflow),可能導致DoS攻擊和資訊洩漏。
- CVE-2024-53871 :
越界讀取漏洞(Out-of-bounds read),可能導致DoS攻擊和資訊洩漏。
- CVE-2024-53872 :
越界讀取漏洞(Out-of-bounds read),可能導致DoS攻擊和資訊洩漏。
- CVE-2024-53873 :
整數溢位漏洞(Integer overflow),可能導致DoS攻擊、程式碼執行(Code execution)和資訊洩漏。
- CVE-2024-53874 :
越界讀取漏洞(Out-of-bounds read),可能導致DoS攻擊和資訊洩漏。
- CVE-2024-53875 :
越界讀取漏洞(Out-of-bounds read),可能導致DoS攻擊和資訊洩漏。
- CVE-2024-53876 :
越界讀取漏洞(Out-of-bounds read) ,可能導致DoS攻擊和資訊洩漏。
- CVE-2024-53877 :
越界讀取漏洞(Out-of-bounds read),可能導致DoS攻擊和資訊洩漏。
- CVE-2024-53878 :
越界讀取漏洞(Out-of-bounds read), 可能導致DoS攻擊和資訊洩漏。
CUDA 和 Cubin 檔案概述
- CUDA 於 2006 年推出,是一個平行運算平台和程式設計模型。開發人員使用 CUDA 工具包(包括 cuobjdump 和 nvdisasm 工具)來分析在 NVIDIA GPU 上執行的程式的 CUDA 二進位檔案。 CUDA 用於建立利用 NVIDIA GPU 的運算能力執行 AI、科學研究和多媒體處理等任務的軟體。 CUDA 工具包可以在 Windows 或 Linux 環境中使用。
- CUDA 二進位(CUDA binaries也稱為「cubin」檔案)儲存 NVIDIA GPU 的 CUDA 程式碼和指令。 Cubin 檔案使用「.cubin」檔案副檔名並遵循標準化的 ELF 格式。這些檔案包含可執行程式碼和附加信息,如符號、重定位資料和偵錯詳細資訊。 Cubin 檔案包含程式主機(CPU)和裝置(GPU)部分的程式碼,是透過編譯用 CUDA C/C++ 編寫的原始程式碼產生的。
cuobjdump 和 nvdisasm
- cuobjdump 是一個命令列實用程序,用於檢查和分析 cubin 檔案,以人類可讀的格式呈現資料。它具有命令列選項,允許開發人員抓取有關 cubin 檔案不同方面的信息,例如 `--dump-elf` 選項返回有關 cubin 檔案的 ELF Object section的information dump。
- nvdisasm 是 cubin 檔案的反組譯程式,它可以將 cubin 檔案中的內容轉換為人類可讀的格式。開發人員使用 nvdisasm 來了解程式碼編譯後但在 GPU 上執行之前的低階操作。可以使用 `--print-raw` 選項來查看最終的反組譯結果,而無需對其進行任何美化。
已發現的漏洞
已發現的漏洞包括:
- 整數溢位:處理太大而無法儲存在預定位置的整數值。
- 越界讀取:讀取超出預定緩衝區末端或開頭的資料。
成功利用這些漏洞可能會導致有限的拒絕服務(DoS) 或有限的資訊外洩。這些漏洞的 CVSS 評分範圍為 2.8 到 3.3,顯示影響程度較低。
cuobjdump 中的漏洞
- CVE-2024-53870:整數溢位導致越界讀取
- CVE-2024-53872:越界讀取
- CVE-2024-53873:整數溢位導致 堆積(Heap)緩衝區溢位
- CVE-2024-53874:越界讀取
- CVE-2024-53875:越界讀取
- CVE-2024-53878:越界讀取
nvdisasm 中的漏洞
- CVE-2024-53871:越界讀取
- CVE-2024-53876:越界讀取
- CVE-2024-53877:越界讀取
建議
建議使用最新的 CUDA Toolkit 版本以避免 cuobjdump 和 nvdisasm 有漏洞的版本。 NVIDIA 於 2025 年 2 月發布了安全性更新來修復這些漏洞。
結論
NVIDIA 的 CUDA 工具包對於開發、部署和執行 CUDA 程式至關重要。 cuobjdump 和 nvdisasm 工具對於開發人員檢查和最佳化他們的 GPU 程式至關重要。這些工具中的漏洞可能會產生嚴重影響,尤其是因為它們是 CUDA 工具包的一部分。攻擊者可以透過開發環境中存在漏洞的 cuobjdump 和 nvdisasm 版本來攻擊組織。 CUDA 用於生成式人工智慧、機器學習和科學計算等安全敏感應用。為了減輕這些風險,建議開發人員使用最新版本的 CUDA 工具包。 NVIDIA 於 2025 年 2 月發布了安全性更新來修復這些漏洞。