本次发布包含以下版本
虽然本常见问题解答总体上涵盖了 2013-04-04 PostgreSQL 安全更新,但其大部分内容侧重于本次发布中修复的主要安全漏洞,即 CVE-2013-1899。
发布时,没有已知的利用情况。
任何允许无限制访问 PostgreSQL 网络端口的系统,例如在公共云上运行 PostgreSQL 的用户,尤其容易受到攻击。服务器只能在受保护的内部网络上访问,或者具有有效防火墙或其他网络访问限制的用户,受攻击的风险较低。
这是数据库安全的一个良好通用规则:除非绝对必要,否则不要允许从不受信任的网络访问数据库服务器端口。这一点对于 PostgreSQL 和其他数据库系统都同样适用,甚至更适用。
该漏洞允许用户在 PostgreSQL 以正常的多用户模式运行时,使用用于 PostgreSQL 连接的命令行开关,而该开关本应仅用于单用户恢复模式。这可能被用来损害服务器。
9.0、9.1 和 9.2 版本。
8.4 版本用户不受影响。8.3 及更早版本用户不受此问题影响,但由于这些版本已停止支持,因此容易受到其他未修补的安全漏洞的影响。
使用高级安全框架,例如带有 PostgreSQL 的 SEPostgres 扩展的 SELinux,也可以减少或消除 PostgreSQL 安全漏洞带来的暴露和潜在损害。
有关该漏洞的详细信息首先披露给了我们的安全团队。
PostgreSQL 全球开发组 (PGDG) 多年来一直有一项政策,允许构建要分发给公众的 PostgreSQL 二进制软件包(如 RPM 和 Windows 安装程序)的工程师提前访问,以便在官方发布日期发布信息和代码,从而使软件包能够按时就绪。这适用于次要版本和主要版本发布。鉴于 PostgreSQL-as-a-Service (PGaaS) 作为分发机制的普及度越来越高,我们正在修订此政策以适应云提供商的情况。新政策仍在编辑中,应很快发布。
该漏洞于 2013 年 3 月 12 日首次报告给 PostgreSQL 全球开发组 (PGDG) 安全团队。
我们在 Red Hat 安全团队的协助下,于 3 月 27 日申请了 CVE。
NTT 开源软件中心的 Mitsumasa Kondo 和 Kyotaro Horiguchi 在进行安全审计时发现的。NTT 是 PostgreSQL 的长期贡献者。
Kondo-san 和 Horiguchi-san 发送电子邮件至 security@postgresql.org。
Heroku 在与其他打包人员相同的时间获得了修复了该漏洞的更新源代码。由于 Heroku 尤其容易受到攻击,PostgreSQL 核心团队与他们合作——以保护其基础设施,并利用其部署作为安全补丁的测试平台。这有助于验证安全更新没有破坏任何应用程序功能。Heroku 在与社区开发者密切合作以及在其 PostgreSQL 服务中测试实验性功能方面有着悠久的历史。
我们在 PGDG 基础设施上托管的私人列表上与两个团队进行沟通。在发布任何软件包之前,两个团队都获得了源代码的访问权限,以便分析安全补丁并创建软件包以分发 PostgreSQL 二进制文件。这些是我们的安全团队和打包人员列表。在这两种情况下,这些小组都获得了早期访问权限,以便参与修补安全漏洞。
目前,PostgreSQL 项目不向未直接参与修补安全漏洞或为其他用户打包 PostgreSQL 的用户提供早期访问安全信息、补丁或代码的权限。未来我们有可能提供此类访问权限,但目前尚不可能。
鉴于漏洞的严重性,PostgreSQL 核心团队经过审议,认为在软件包可用之前提供修复程序源代码所带来的安全风险,超过了公众立即获得访问的利益。
关于安全发布的信息共享的正常程序是在新版本发布前一周向我们的开发者邮件列表 pgsql-hackers@lists.postgresql.org 发送公告。Tom Lane 这样做了。然后,由于安全漏洞的严重性,我们还向 pgsql-announce@postgresql.org 和我们网站主页上的 RSS 新闻源发送了公告。我们这样做是因为我们希望给 DBA 足够的时间来规划维护窗口进行升级。
公告和发布的时间安排是基于志愿者打包人员和发布经理能够进行发布的可用性。
PostgreSQL 全球开发组 (PGDG) 是一个志愿者运营的全球组织。我们有一个六人核心团队,一些主要贡献者以及几个邮件列表,构成了我们社区的中心部分。 此处为贡献者详情。
这两个团队的成员资格均由核心团队维护。
我们每年发现零到七个次要安全问题。自 2006 年以来,这是第一次发生如此大规模的安全问题:“反斜杠转义编码问题”,该问题也影响了 MySQL 和其他一些数据库系统。
它是为了使与 PostgreSQL 服务器建立新连接更快、相关代码更易于维护而进行的重构工作的副作用而产生的。
我们很幸运拥有一大批安全工程师,他们定期测试 PostgreSQL 并负责任地报告安全问题,以便它们能够得到修复。这包括:
此版本还更新了四个其他次要安全问题,这些问题在 安全页面 和版本公告中有详细说明。它还包含许多 PostgreSQL 的 Bug 修复,其中最值得注意的是修复了两个潜在的二进制复制数据损坏问题。