億格云發現Terraform高危漏洞,影響幾乎所有云廠商

Terraform是一個開源的基礎設施即代碼工具,由HashiCorp開發和維護。它允許用戶使用簡單的聲明性語言定義和配置基礎設施資源,如虛擬機、存儲、網絡等,然后自動化地創建、修改和銷毀這些資源。
Terraform 作為 DevOps 的一個利器,大大降低了基礎設施的管理成本,并且隨著業務架構的不斷復雜,基礎設施資源及其資源關系的不斷復雜,Terraform 所帶來的便利性和優勢將越來越明顯。可以在Terraform Registry上找到所有公開可用的提供商,包括阿里云、騰訊云、華為云、AWS、Azure、Google Cloud Platform (GCP)、Kubernetes、Helm、GitHub、Splunk、DataDog 等都在使用并貢獻能力。
目前 Github 上 Star 數量已達 38.8k。
國內大部分云廠商都會在控制臺上允許用戶通過Terraform語法來配置和管理云上資產,這就導致一旦存在Terraform的漏洞,通過惡意的輸入會對平臺自身造成嚴重的影響。在 Hacktricks 的云安全板塊上,記錄了關于Terraform的一些攻擊方法,核心思路是通過上傳惡意的Providers 來達到任意命令執行。但是在Hashicorp官方指導和國內云廠商的真實實踐上,都只允許特定可信的Providers,并對可能造成危害的函數方法做了強限制,來杜絕可能的危害。
億格云安全團隊研究發現,在Terraform中存在模塊的導入功能,對于模塊的安裝注冊步驟時,會在路徑的結尾上拼接模塊名信息,但是對模塊名的校驗卻在注冊安裝完畢之后,這就導致了通過控制惡意的模塊名,可以在任意位置寫入文件,再通過其調用系統上其他可執行程序的邏輯,劫持對應內容,寫入惡意的代碼,即可達到任意命令執行。目前已將該漏洞上報給Terraform官網,得到官方的致謝和修復,并申請了CVE-2023-4782進行標記和跟蹤該問題。該問題也在部分云廠商平臺復現,成功執行測試命令,目前均已通知并幫助其進行修復。
