關閉選單
深度學習工具 Keras 中發現資料外洩漏洞

開源庫 Keras 是為人工神經網路提供 Python 接口的深度學習 API,它作為底層跨框架語言,廣泛用於建立與 JAX、TensorFlow 和 PyTorch 協作的 AI 模型。然而,一項新的安全發現揭露,Keras 中存在一個漏洞,可能導致嚴重的資料暴露和伺服器端請求偽造 (SSRF) 攻擊,對 AI 開發生態系統構成潛在威脅。

開源庫 Keras 中的一個漏洞可能允許攻擊者載入任意本機檔案或進行伺服器端請求偽造 (SSRF) 攻擊。Keras 為人工神經網路提供 Python 接口,它是一個深度學習 API,可以用作底層跨框架語言,用於建立與 JAX、TensorFlow 和 PyTorch 配合使用的 AI 模型。此漏洞被追蹤為CVE-2025-12058(CVSS 評分為 5.9),屬於中度嚴重性漏洞,原因是該程式庫的StringLookup和IndexLookup預處理層允許使用檔案路徑或 URL 作為輸入來定義詞彙表。當 Keras 透過載入序列化模型來重建圖層時,它會在反序列化期間存取引用的檔案路徑,而沒有進行適當的驗證或限制,並將指定檔案的內容合併到模型狀態中。Zscaler解釋說:「這意味著即使啟用了安全模式等安全功能,惡意模型仍然可以指示Keras在加載時訪問本地文件或外部URL,從而暴露敏感數據或啟用遠程網路請求。」

此中度嚴重性漏洞(CVSS 評分 5.9)的根源在於 Keras 的 StringLookupIndexLookup 預處理層,它們允許開發者使用檔案路徑或 URL 作為輸入來定義詞彙表。當 Keras 載入序列化模型進行層重建時,它會在反序列化過程中訪問這些引用的檔案路徑,且缺乏足夠的驗證或限制。這種行為導致指定檔案的內容直接被合併到模型狀態中。

資安公司 Zscaler 的研究人員解釋,即使啟用了如 safe_mode 等安全功能,惡意模型仍然可以指示 Keras 在載入時訪問本地檔案或外部 URL。這種特性繞過了安全的模型反序列化機制,使攻擊者能夠讀取任意本機檔案、透過詞彙表將資訊外洩,並發起 SSRF 攻擊。

在實際攻擊情景中,攻擊者可以製作惡意的 Keras 模型,並將其上傳到公共儲存庫。這些惡意模型中的詞彙表參數經過特殊設計,例如目標指向 SSH 私鑰。當受害者下載並載入該模型時,在反序列化過程中,他們的 SSH 私鑰會被讀取到模型的詞彙表中。攻擊者隨後可以透過重新下載模型或通過詞彙表外洩機制來獲取這些私鑰。

Zscaler 強調,這種攻擊的潛在影響極大,可能導致受害者對伺服器、程式碼儲存庫和雲端基礎設施的 SSH 存取權完全洩露。攻擊者可以利用這些憑證進一步擴大入侵範圍,包括克隆私人程式碼庫、將後門或惡意提交注入到持續整合/持續部署(CI/CD)流程中、在生產環境中執行程式碼,以及在網路中橫向移動。若惡意模型在具有實例元數據服務的雲端環境中被載入,攻擊者甚至可以擷取 IAM 憑證,進而完全控制組織的雲端資源。

此漏洞已在 Keras 3.11.4 版本中得到解決。修復措施包括將詞彙表檔案直接嵌入 Keras 存檔中,並在初始化時從該存檔中載入,同時在啟用 safe_mode 時禁止載入任意詞彙表檔案,從根本上堵住了攻擊向量。


資料來源:https://www.securityweek.com/data-exposure-vulnerability-found-in-deep-learning-tool-keras/
 
開源深度學習 API Keras 中發現一個中度嚴重性漏洞(CVE-2025-12058),該漏洞允許攻擊者在模型載入時繞過安全限制,讀取本機檔案或執行伺服器端請求偽造 (SSRF) 攻擊。