Scientific Linux 安全更新:SL5.x i386/x86_64 中的 perl

high Nessus 插件 ID 60801

简介

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

描述

Perl 是一种通常用于系统管理实用工具和 Web 编程的高级编程语言。Safe 扩展模块允许用户在受限制的隔离舱内编译和执行 Perl 代码。File::Path 模块允许用户创建和删除目录树。

Safe 模块未对隐式批准对象(作为不安全代码评估的结果返回)上隐式调用的方法(如 DESTROY 和 AUTOLOAD)的代码加以正确地限制。Safe 可能已在此类对象被访问或销毁时不加限制地执行了这些方法。在 Safe 隔离舱内执行的、特别构建的 Perl 脚本可利用此缺陷绕过预期的 Safe 模块限制。(CVE-2010-1168)

Safe 模块未对在 Safe 隔离舱中编译并且在隔离舱外通过作为不安全代码评估的结果而返回的子例程引用来执行的代码加以正确限制。如果返回的子例程引用是从隔离舱外调用的,则在 Safe 隔离舱内执行的、特别构建的 Perl 脚本可利用此缺陷绕过预期的 Safe 模块限制。
(CVE-2010-1447)

在 File::Path 模块的 rmtree 函数删除目录树的方式中发现多个争用条件。如果受害者有权限来更改目标文件的权限或者将其删除,则具有受害者正删除的目录写权限的恶意本地用户通过使用 rmtree 运行 Perl脚本,可导致将任意文件的权限更改为全局可写和 setuid,或可通过符号链接攻击来删除任意文件。(CVE-2008-5302、CVE-2008-5303)

这些程序包将 Safe 扩展模块升级到 2.27 版本。
请参阅以下链接中安全模块的变更文件,获取完整的变更列表。
http://cpansearch.perl.org/src/RGARCIA/Safe-2.27/Changes

必须重新启动所有使用 Safe 或 File::Path 模块的应用程序,才能使更新生效。

注意:SL 50-52 x86_64 版本最初包含 perl.i386 程序包。它已从 x86_64 SL5 发行版本中删除,不再是该安全更新的一部分。如果您具有较早的 SL5 x86_64 发行版本且 perl 更新因冲突而无法工作,则应在这些较早的 SL 5 x86_64 版本上执行更新前执行“yum remove perl.i386”。

解决方案

更新受影响的 perl 和/或 perl-suidperl 程序包。

另见

https://fastapi.metacpan.org/source/RGARCIA/Safe-2.27/Changes

http://www.nessus.org/u?1083ee3c

插件详情

严重性: High

ID: 60801

文件名: sl_20100607_perl_on_SL5_x.nasl

版本: 1.7

类型: local

代理: unix

发布时间: 2012/8/1

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

支持的传感器: Nessus Agent, Nessus

风险信息

VPR

风险因素: Medium

分数: 6.7

CVSS v2

风险因素: High

基本分数: 8.5

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

漏洞信息

CPE: x-cpe:/o:fermilab:scientific_linux

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

补丁发布日期: 2010/6/7

参考资料信息

CVE: CVE-2008-5302, CVE-2008-5303, CVE-2010-1168, CVE-2010-1447

CWE: 362