研究人員在阿裏雲 PostgreSQL 數據庫中發現 2 個安全漏洞。
ApsaraDB RDS for PostgreSQL 和 AnalyticDB for PostgreSQL 是阿裏的兩個雲服務。ApsaraDB RDS 是管理數據庫托管服務,具有自動監控、備份、災備功能。ApsaraDB RDS 是管理數據倉庫服務。
BrokenSesame 漏洞概述
Wiz 研究人員在阿裏雲 PostgreSQL 數據庫中發現 2 個安全漏洞—— #BrokenSesame:一個 AnalyticDB 中的權限提升漏洞和一個 ApsaraDB RDS 中的遠程代碼執行漏洞。攻擊者利用這兩個漏洞可以實現容器内的 root 權限提升,繞過租戶隔離保護,實現 Kubernetes 節點逃逸,最終獲得 API 服務器的非授權訪問,并訪問屬于其他用戶的敏感數據。
AnalyticDB for PostgreSQL 攻擊流
研究人員利用 cronjob 任務中的權限提升漏洞來在容器内實現 root 權限提升;
然後利用共享的 PID 命名空間來實現底層主機(k8s 節點)的逃逸;
然後利用 kubelet 憑證訪問敏感資源,包括服務賬戶、pods 等;
研究人員在分析 pod 列表時發現了屬于同一集群的其他租戶的 pods。這表明阿裏雲将該集群用于多租戶,即可以獲得這些 pods 的跨租戶訪問;
因爲阿裏雲使用私有的容器鏡像庫,因此研究人員需要對應的憑證信息才能訪問;
在測試容器鏡像注冊表的憑證時,研究人員發現不僅有讀權限還有寫權限。即研究人員具有覆寫容器鏡像的能力,并有可能針對整個服務和其他服務的鏡像發起供應鏈攻擊。
ApsaraDB RDS for PostgreSQL 攻擊流
研究人員利用該漏洞來訪問 pod 内鄰居管理容器的源碼;
在對管理容器源碼進行審計時發現了一個遠程代碼執行漏洞。然後,研究人員發現該容器是具有特權的,即可以實現主機(k8s 節點)的逃逸;
然後研究人員再次确認阿裏雲使用了多租戶集群,随後在該節點了發現了屬于其他賬戶的數據庫,既可以訪問其他數據;
用于該服務的私有容器注冊表庫與用于 AnalyticDB 的相同,也就是說可以用 AnalyticDB 的憑證對 ApsaraDB RDS 發起供應鏈攻擊。
漏洞影響和補丁
Wiz 于 2022 年 12 月将該漏洞提交給阿裏雲,阿裏雲于 2023 年 4 月 12 日完全修複了漏洞。阿裏雲确認沒有用戶數據洩露,用戶也無需進行任何操作。