Azure PostgreSQL 灵活服务器权限提升与远程代码执行漏洞分析

本文详细分析了Azure Database for PostgreSQL灵活服务器中的权限提升和远程代码执行漏洞,包括漏洞成因、影响范围、微软的修复措施以及技术细节,帮助读者全面了解该安全事件。

Azure Database for PostgreSQL 灵活服务器权限提升和远程代码执行

MSRC 在协调漏洞披露(CVD)框架下,收到云安全供应商 Wiz 的报告,指出 Azure Database for PostgreSQL 灵活服务器存在一个问题,可能导致区域内未经授权的跨账户数据库访问。通过利用灵活服务器复制用户身份验证过程中的权限提升漏洞,恶意用户可以利用未正确锚定的正则表达式绕过身份验证,访问其他客户的数据库。该问题在 48 小时内(2022 年 1 月 13 日)得到缓解。

客户影响

所有使用公共访问网络选项部署的灵活服务器 PostgreSQL 服务器均受到此安全漏洞的影响。使用私有访问网络选项的客户未暴露于此漏洞。PostgreSQL 的单服务器产品未受影响。

我们的分析显示,没有客户数据通过此漏洞被访问。Azure 更新了所有灵活服务器以修复此漏洞。客户无需采取任何行动。为进一步减少暴露风险,我们建议客户在设置灵活服务器实例时启用私有网络访问。有关信息,请参阅灵活服务器网络文档。

微软的响应

微软在得知此问题后采取了以下步骤:

  • 我们采取主动方法,首先通过防止跨租户攻击来解决最关键的漏洞,从而解决任何横向数据访问问题。这些修复于 2022 年 1 月 13 日全球推出。
  • 提供不同租户底层虚拟机实例之间的完全隔离。
  • 修复 pg_ident.conf 问题,仅当完全匹配主题名称时才允许复制权限,而不是前缀匹配。

在补丁推出期间,我们还解决了所有新服务器创建的问题,阻止了权限提升和远程代码访问。

修复部署后,我们的安全团队和 Wiz 验证了修复。

我们于 2022 年 2 月 25 日完成了整个现有服务器群的更新,解决了剩余问题。修复包括:

  • 阻止 PostgreSQL 中的复制程序,以缓解灵活服务器 PostgreSQL 服务中报告的远程代码执行问题。
  • 修复显示证书名称的详细 PostgreSQL 错误消息。

技术细节

以下是用于提升权限和远程代码执行的步骤:

  • 在我们的特定 PostgreSQL pg_admin 实现中,扩展处理方式的问题可能导致 pg_admin 提升为超级用户。
  • 由于灵活服务器实例之间的网络隔离不足,攻击者有可能发现并尝试连接到区域内的其他灵活服务器实例。
  • 由于用于将证书通用名称映射到用户的过于宽松的正则表达式,可以绕过用于灵活服务器 PostgreSQL 实例之间复制连接证书身份验证。

Wiz 已发布关于此问题的博客,可在此处查看。我们要感谢 Wiz 发现此问题并与微软密切合作,帮助保护我们的客户。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计