简介
远程 Scientific Linux 主机缺少一个或多个安全更新。
描述
已发现如果调用 PySys_SetArgv API 函数,则嵌入 Python 解释器的许多应用程序将无法指定到脚本或应用程序的有效完整路径,从而导致向模块搜索路径 (sys.path) 添加当前工作目录。能够诱使受害者在攻击者控制的目录中运行此类应用程序的本地攻击者可以利用此缺陷以及受害者的权限执行代码。此更新添加了 PySys_SetArgvEx API。开发人员可修改自己的应用程序以使用此新的 API,这样便可在不修改 sys.path 的情况下设置 sys.argv。
(CVE-2008-5983)
在 Python rgbimg 模块中发现了多个缺陷。如果以 Python 编写的应用程序正在使用 rgbimg 模块且加载了特别构建的 SGI 图像文件,则可导致该应用程序崩溃,还可导致使用运行该应用程序的用户的权限执行任意代码。(CVE-2009-4134、CVE-2010-1449、CVE-2010-1450)
在 Python audioop 模块中发现了多种缺陷。如果提供特定输入,则可导致 audioop 模块崩溃,还可导致执行任意代码。(CVE-2010-1634、CVE-2010-2089)
此更新还修复以下缺陷:
- 从 Python 2.4 中的子进程模块启动子进程时,如果出错,父进程可泄漏文件描述符。此更新用于解决该问题。(BZ#609017)
- 在低于 Python 2.7 的版本中,使用“ulimit -n”实现与大量子进程通信的程序可能仍然同时只能监控 1024 个文件描述符,这导致异常:
ValueError:filedescriptor 超出了 select() 中的范围
这是由于子进程模块使用“select”系统调用所致。
此模块现在使用“poll”系统调用,从而消除了此限制。
(BZ#609020)
- 在低于 Python 2.5 的版本中,如果路径长度超过 100 个字符,tarfile 模块不能解压缩 tar 文件。
此更新从 Python 2.5 向后移植 tarfile 模块,该问题不再发生。(BZ#263401)
- 电子邮件模块未正确实现用于获取附件文件名的逻辑:使用“Content-Type”标头的已弃用的“name”参数的 get_filename() 回退误用了“Content-Disposition”标头。此更新从 Python 2.6 向后移植一个补丁,从而解决此问题。
(BZ#644147)
- 在低于 2.5 的版本中,Python 的经过优化的内存分配器从不将内存释放回系统。长时间运行的 Python 进程的内存使用情况将类似“高水位线”。此更新从 Python 2.5a1 向后移植一个补丁,释放未使用的区域并添加非标准 sys._debugmallocstats() 函数,将诊断信息指向 stderr。最终,在 Valgrind 下运行时,经优化的分配程序将被停用,以便允许对 Python 内存使用情况问题进行更便利的调试。(BZ#569093)
- urllib 和 urllib2 模块忽略 no_proxy 变量,这可能导致“yum”等程序错误地访问“o_proxy”排除涵盖的 URL 的代理服务器。此更新向后移植 urllib 和 urllib2 的补丁,这些补丁遵守“no_proxy”变量,可修复这些问题。(BZ#549372)
此更新还添加了以下增强:
- 此更新引入了一个新的 python-libs 程序包,其中包含核心 python 程序包的大部分内容。这样使 PowerPC 系统上可同时提供 32 位和 64 位 Python 库。(BZ#625372)
- python-libs.i386 程序包现在支持采用 32 位 Itanium 兼容模式的 64 位 Itanium。
(BZ#644761)
插件详情
文件名: sl_20110113_python_on_SL5_x.nasl
代理: unix
支持的传感器: Nessus Agent, Nessus
风险信息
矢量: CVSS2#AV:N/AC:L/Au:N/C:P/I:P/A:P
漏洞信息
CPE: x-cpe:/o:fermilab:scientific_linux
必需的 KB 项: Host/local_checks_enabled, Host/RedHat/release, Host/RedHat/rpm-list, Host/cpu