PostgreSQL 11.5, 10.10, 9.6.15, 9.5.19, 9.4.24 和 12 Beta 3 发布
PostgreSQL (也叫 Postgres)是一个自由的对象-关系数据库服务器(数据库管理系统),它在灵活的 BSD-风格许可证下发行。它提供了相对其他开放源代码数据库系统(比如 MySQL 和 Firebird),和对专有系统比如 Oracle、Sybase、IBM 的 DB2 和 Microsoft SQL Server的一种选择。
PostgreSQL 不寻常的名字导致一些读者停下来尝试拼读它,特别是那些把SQL拼读为"sequel"的人。PostgreSQL 开发者把它拼读为 "post-gress-Q-L"。(Audio sample, 5.6k MP3)。它也经常被简略念为 "postgres"。PostgreSQL 使用名为 PostgreSQL 的许可证,该许可证与 BSD/MIT 类似。
PostgreSQL 于近日为受支持的各个版本发布了更新,其中包括 PostgreSQL 11.5, 10.10, 9.6.15, 9.5.19, 9.4.24 和 12 Beta 3,该版本修复了 PostgreSQL 服务器中的两个安全问题,一个 PostgreSQL Windows 安装程序中发现的两个安全问题,以及自上次发布以来报告的 40 多个 bug。
安全问题
这个版本已经关闭了四个安全漏洞:
- CVE-2019-10208:pg_temp 上的 type 在
SECURITY DEFINER
执行期间执行任意 SQL
受影响版本:9.4 - 11
给定合适的 SECURITY DEFINER
函数,攻击者可以在函数所有者的身份下执行任意 SQL。攻击需要对函数 EXECUTE 权限,函数本身必须包含不精确的参数类型匹配的函数调用。例如,length('foo'::varchar) 和 length('foo') 是不精确的,而 length('foo'::text) 是精确的。
- CVE-2019-10209:散列子计划跨类型比较中的内存泄漏
受影响版本:11
在包含假设的、用户定义的哈希相等操作符的数据库中,攻击者可以读取任意字节的服务器内存。
- CVE-2019-10210:EnterpriseDB Windows 安装程序将 PostgreSQL 超级用户密码写入未受保护的临时文件
受影响版本:9.4-11 版本的 EnterpriseDB Windows 安装程序
EnterpriseDB Windows 安装程序将密码写入其安装目录中的临时文件,创建初始数据库并删除该文件。在这个时间内,当文件存在时,本地攻击者可以从文件中读取 PostgreSQL 超级用户密码。
- CVE-2019-10211:EnterpriseDB Windows 安装程序从不受保护的目录执行代码
受影响版本:9.4-11 版本的 EnterpriseDB Windows 安装程序
当数据库服务器或 libpq 客户端库初始化 SSL 时,libeay32.dll 从硬编码目录读取配置。虽然目录不存在,但是任何本地用户都可以创建目录并注入配置。此配置可以指示 OpenSSL 在运行 PostgreSQL 服务器或客户端时加载和执行任意代码。大多数 PostgreSQL 客户端工具和库都使用 libpq,通过使用它们中的任何一个都可以遇到此漏洞。
另外,PostgreSQL 9.4 将于 2020 年 2 月 13 日停止接收修复程序。
还包括其他的 bug 修复,详情见:https://www.postgresql.org/about/news/1960/
下载地址:https://www.postgresql.org/download/