CVE-2026-81838 – awsdac (diagram-as-code) 中的 Zip Slip 路徑遍歷
公告 ID:2026-090-AWS
範圍:AWS
內容類型:重要 (需要注意)
發布日期:2026 年 8 月 27 日下午 1:00 (太平洋夏令時間)
最後更新時間:2026 年 8 月 28 日上午 9:30 (太平洋夏令時間)
描述:
awsdac (diagram-as-code) 是一個 CLI 工具,可從 YAML 定義產生 AWS 架構圖,實現版本控制的程式碼驅動繪圖。我們發現了 CVE-2026-81838,這是一個 Zip Slip (路徑遍歷) 問題。當 awsdac 解壓縮定義檔中 ZipFile 資源所參照的 zip 封存檔時,特製的封存檔可將檔案寫入預期快取目錄之外、執行 awsdac 的使用者有寫入權限的任何路徑。視寫入的檔案而定,這可能導致任意程式碼執行。
利用此問題需要處理來自不受信任來源的定義檔。這可能發生在以下情況:
- awsdac 在未套用定義檔信任限制的情況下執行 (0.22.4 之前的版本沒有信任區分;0.22.4 及之後的版本需要 --allow-untrusted-definitions 旗標),或
- 定義檔從本機檔案系統載入 (`Type: LocalFile`),這會繞過定義檔 URL 允許清單。
處理來自不受信任或半受信任來源定義檔的 CI/CD 環境是主要風險情境。
awsdac 是一個用戶端 CLI 工具,會在本機呈現架構圖。此問題不會影響任何 AWS 服務、AWS 帳戶或客戶資料。影響僅限於執行 awsdac 的機器。
受影響版本:awsdac:0.10 至 0.23 版 (含)
解決方案:
此問題已在 0.24 版本中得到解決。建議您升級至最新版本,並確保所有分支或衍生程式碼皆已套用修補程式,以納入最新修正。
變通方法:
如果您無法立即升級:
- 僅處理來自您信任來源的定義檔 (包括本機檔案)。
- 不要使用 --allow-untrusted-definitions 旗標執行 awsdac (0.22.4 及之後的版本)。
- 在 CI/CD 管線中,將 awsdac 所使用的定義檔固定為已審查且受信任的內容。
參考資料:
致謝:
我們誠摯感謝 George Chen 透過協調的漏洞披露程序,與我們協作解決此問題。
如有任何安全問題或疑慮,請寄電子郵件至 aws-security@amazon.com。