在各种Postgresql-As-A-Service产品中发现的缺陷,包括Microsoft和Google
Wiz Research发现,来自云供应商本身引入的各种云供应商的流行“ Postgresql-As-Service”产品中的脆弱性。
今年早些时候,安全装备发现了一系列关键漏洞在Microsoft Azure数据库中,用于PostgreSQL灵活服务器。
命名#ExtrarePlica的漏洞利用允许未经授权的阅读访问其他客户的PostgreSQL数据库,绕过租户隔离。
“隔离并不完美,我们从托管实例到其他客户实例的网络访问,这为其他潜在漏洞打开了攻击表面,” WIZ研究负责人Shir Tamari告诉每日swbeplay2018官网ig。
“我们证明有可能利用这种攻击表面,并获得对其他客户数据库的完整阅读访问。”
数十年的虫子
威兹现在有揭示类似的漏洞会影响Google云平台(GCP),尽管潜在影响较小。
PostgreSQL可以追溯到25年,缺少适合托管服务的权限模型,使供应商添加了自己的代码。
“在将Postgres变成托管服务时,云服务提供商希望通过允许某些能力被认为危险的能力为用户提供超级用户特权,而不会冒险。”塔玛里说。
“ PostgreSQL的权限模型不能仅向用户提供一组超级用户特权。因此,云供应商必须引入修改,以允许常规用户一组超级用户功能。“
这些修改使团队在供应商管理的计算实例上执行任意命令的多个PostgreSQL-AS-AS-AS-Service产品 - 在极端情况下,使用受影响的服务获得了未经授权的跨租户数据访问权限。
数十个修复程序
就云SQL而言,尽管团队无法获得超级用户的身份,但可以访问其某些特权。一种是将表格的所有权任意更改为数据库中任何用户或角色的能力。
这意味着团队可以在表格上创建一个带有虚拟内容的表格,创建一个具有代码执行有效负载的恶意索引函数,然后将表所有者更改为Cloudsqladmin,GCP的Superuser角色,仅由Cloud SQL用于维护和管理数据库。
然后分析表然后迫使PostgreSQL引擎将用户使用转换为表的所有者,Cloudsqladmin,并使用恶意索引函数Cloudsqladmin权限,导致执行Shell命令。
“在研究期间,我们与十几个PostgreSQL供应商合作,以验证和解决我们发现的问题。事实证明,许多云提供商都引入了相同的修改,以调整后QL作为托管服务,因此可能很脆弱。” Tamari说。
“作为广泛负责的披露过程的一部分,我们与主要的云提供商和其他人分享了我们的发现,以帮助他们确定他们是否接触了我们确定的问题。”