亞馬遜云曝出“超級漏洞”,攻擊者可刪除任何鏡像

近日,Lightspin安全分析師在Amazon ECR(彈性容器注冊表)公共庫中發現一個嚴重漏洞,允許攻擊者刪除任何容器映像或將惡意代碼注入其他AWS賬戶的鏡像。
Amazon ECR Public Gallery是容器鏡像的公共存儲庫,用于共享即用型應用程序和流行的Linux發行版,例如Nginx、EKS Distro、Amazon Linux、CloudWatch代理和Datadog代理。
研究者透露,利用該漏洞,攻擊者可通過濫用未記錄的API操作來修改其他用戶的現有公共映像、層、標簽、注冊表和存儲庫。
研究人員于2022年11月15日向亞馬遜網絡安全部門報告了該漏洞,亞馬遜在24小時內推出了修復程序。
雖然沒有跡象表明這個漏洞在野外被濫用,但威脅行為者本可以將其用于針對許多用戶的大規模供應鏈攻擊。
ECR Public Gallery中下載量最高的前六個容器映像的下載量超過130億次,因此其中的任何惡意注入都可能導致“失控式”感染。
研究者的分析顯示,26%的Kubernetes集群至少有一個pod可以從ECR公共庫中提取鏡像,因此潛在影響面極大。
利用未記錄的API操作
研究人員發現,ECR Public Gallery公共庫有幾個內部API操作,用于支持特定的命令和用戶操作,但不會公開。
下面列出的其中四個API操作沒有任何觸發器,但它們在平臺上仍然處于活動狀態,因此可以調用。
- DeleteImageForConvergentReplicationInternal
- DeleteTagForConvergentReplicationInternal
- PutImageForConvergentReplicationInternal
- PutLayerForConvergentReplicationInternal
分析師成功找到了讓惡意API請求獲得通過的方法:用Amazon Cognito的臨時憑證對ECR內部API進行身份驗證。
當然,要使上述方法可行,請求應具有有效的JSON結構,并且由于沒有這些API調用的文檔,因此推斷它需要進行一些實驗。
在Lightspin報告提供的概念驗證示例中,該請求使用“DeleteImage”API調用以及公開可用的存儲庫和鏡像ID來擦除研究人員上傳的公開鏡像。

研究人員將漏洞利用步驟編寫到Python腳本中,可以自動濫用未記錄的API來攻擊公共鏡像。
亞馬遜的回應
亞馬遜告訴BleepingComputer,他們立即修復了Lightspin發現的問題,內部調查沒有發現惡意行為者利用的跡象。
根據日志分析,亞馬遜表示確信沒有客戶帳戶或其他資產受到損害。
亞馬遜的完整聲明如下:
2022年11月14日,一位安全研究人員報告了Amazon Elastic容器注冊表(ECR)公共庫中的問題,這是一個用于查找和共享公共容器鏡像的公共網站。研究人員確定了一個ECR API操作,如果調用該操作,則可以修改或刪除ECR公共庫上可用的鏡像。
截至2022年11月15日,亞馬遜已修復該問題。我們對所有日志進行了詳盡的分析。我們相信我們的審查是決定性的,與這個問題相關的唯一活動是研究人員擁有的賬戶,沒有其他客戶的帳戶受到影響,也不需要客戶執行任何操作。我們要感謝Lightspin報告此問題。