Mandriva Linux 安全公告:postgresql (MDVSA-2015:110)

medium Nessus 插件 ID 82363

简介

远程 Mandriva Linux 主机缺少一个或多个安全更新。

描述

更新后的 postgresql 程序包修复了多种安全漏洞:

不使用 ADMIN OPTION 而授予角色原本是阻止被授予者在被授予角色中添加或删除成员,但通过先执行 SET ROLE 可轻松绕过此限制。安全影响主要是,角色成员可撤销其他人的访问权限,违反其授予者的意愿。未批准的角色成员添加操作是次要顾虑,因为不合作的角色成员可通过创建视图或 SECURITY DEFINER 函数将其大部分权限随意提供给他人 (CVE-2014-0060)。

PL 验证器函数的主要角色是在 CREATE FUNCTION 期间被隐式调用,但它们也是用户可以显式调用的普通 SQL 函数。对实际以其他语言编写的函数调用验证器时未进行检查,可能被利用来升级权限。补丁包括增加了调用每个验证器函数中的权限检查函数。
非核心过程语言也需要对其自有的验证器函数(如果有)进行此更改 (CVE-2014-0061)。

如果名称查找因并发活动而出现不同的结果,我们可能在一个表格中执行 DDL 的某些部分,而在另一个表格中执行其他部分。至少在 CREATE INDEX 时,这可被用来导致对不同于索引创建的表格执行权限检查,从而允许权限升级攻击 (CVE-2014-0062)。

MAXDATELEN 常量对于类型间隔的最长值太小,导致 interval_out() 中发生缓冲区溢出。
虽然日期时间输入函数更注意避免缓冲区溢出,但限制太短,会使它们拒绝某些有效的输入,例如包含超长时区名称的输入。
ecpg 库包含这些漏洞及其本身某些漏洞 (CVE-2014-0063)。

几个函数(基本上是类型输入函数)计算分配大小而不检查是否有溢出。如果发生溢出,则会分配一个很小的缓冲区,然后越界写入 (CVE-2014-0064)。

使用 strlcpy() 和相关函数可明确保证固定大小的缓冲区不会溢出。与前述项目不同,不清楚这些情况是否真的代表争论中的问题,因为在大多数情况下,输入字符串大小似乎有之前的约束。尽管如此,但明智的选择可能是使所有这类 Coverity 警告静默 (CVE-2014-0065)。

crypt() 返回 NULL 的情况相对很少,但如果返回 NULL, contrib/chkpass 将会崩溃。导致此问题的一种实际情况是,如果 libc 配置为拒绝执行未批准的哈希算法(例如 FIPS 模式)(CVE-2014-0066)。

由于 make 检查启动的临时服务器使用信任认证,因此同一计算机上的另一个用户可作为数据库超级用户连接到该服务器,然后可能利用启动测试的操作系统用户的权限。未来版本可能在测试程序中加入更改以防止此风险,但需要先进行一些公开讨论。目前,仅当同一计算机上具有不受信任的用户时才警告人们不要使用 make 检查 (CVE-2014-0067)。

如果用户对表具有有限许可,则可能通过服务器错误消息在不具备 SELECT 权限的情况下访问列中的信息 (CVE-2014-8161)。

函数 to_char() 可能超过缓冲区的末尾进行读取/写入。处理格式化模板时,这样可能导致服务器崩溃 (CVE-2015-0241)。

pgcrypto 模块容易受到堆栈缓冲区溢出的影响,可能导致服务器崩溃 (CVE-2015-0243)。

据 Emil Lenngren 报告,攻击者可在客户端与服务器之间失去同步时注入 SQL 命令 (CVE-2015-0244)。

此更新提供 PostgreSQL 版本 9.3.6 和 9.2.10,这些版本修复了这些问题以及多个其他问题。

解决方案

更新受影响的数据包。

另见

http://advisories.mageia.org/MGASA-2014-0205.html

http://advisories.mageia.org/MGASA-2015-0069.html

插件详情

严重性: Medium

ID: 82363

文件名: mandriva_MDVSA-2015-110.nasl

版本: 1.7

类型: local

发布时间: 2015/3/30

最近更新时间: 2021/1/14

支持的传感器: Nessus

风险信息

VPR

风险因素: Medium

分数: 5.9

CVSS v2

风险因素: Medium

基本分数: 6.5

矢量: CVSS2#AV:N/AC:L/Au:S/C:P/I:P/A:P

漏洞信息

CPE: p-cpe:/a:mandriva:linux:lib64ecpg9.2_6, p-cpe:/a:mandriva:linux:lib64ecpg9.3_6, p-cpe:/a:mandriva:linux:lib64pq9.2_5.5, p-cpe:/a:mandriva:linux:lib64pq9.3_5, p-cpe:/a:mandriva:linux:postgresql9.2, p-cpe:/a:mandriva:linux:postgresql9.2-contrib, p-cpe:/a:mandriva:linux:postgresql9.2-devel, p-cpe:/a:mandriva:linux:postgresql9.2-docs, p-cpe:/a:mandriva:linux:postgresql9.2-pl, p-cpe:/a:mandriva:linux:postgresql9.2-plperl, p-cpe:/a:mandriva:linux:postgresql9.2-plpgsql, p-cpe:/a:mandriva:linux:postgresql9.2-plpython, p-cpe:/a:mandriva:linux:postgresql9.2-pltcl, p-cpe:/a:mandriva:linux:postgresql9.2-server, p-cpe:/a:mandriva:linux:postgresql9.3, p-cpe:/a:mandriva:linux:postgresql9.3-contrib, p-cpe:/a:mandriva:linux:postgresql9.3-devel, p-cpe:/a:mandriva:linux:postgresql9.3-docs, p-cpe:/a:mandriva:linux:postgresql9.3-pl, p-cpe:/a:mandriva:linux:postgresql9.3-plperl, p-cpe:/a:mandriva:linux:postgresql9.3-plpgsql, p-cpe:/a:mandriva:linux:postgresql9.3-plpython, p-cpe:/a:mandriva:linux:postgresql9.3-pltcl, p-cpe:/a:mandriva:linux:postgresql9.3-server, cpe:/o:mandriva:business_server:2

必需的 KB 项: Host/local_checks_enabled, Host/cpu, Host/Mandrake/release, Host/Mandrake/rpm-list

补丁发布日期: 2015/3/29

参考资料信息

CVE: CVE-2014-0060, CVE-2014-0061, CVE-2014-0062, CVE-2014-0063, CVE-2014-0064, CVE-2014-0065, CVE-2014-0066, CVE-2014-0067, CVE-2014-8161, CVE-2015-0241, CVE-2015-0242, CVE-2015-0243, CVE-2015-0244

MDVSA: 2015:110