Ubuntu Needrestart 软件包中发现数十年之久的安全漏洞
时间:2024-11-20 17:31 作者:之参博客 分类: 网络相关
Ubuntu Server(自 21.04 版起)默认安装的 needrestart 包中被发现存在多个已有十年历史的安全漏洞,这些漏洞可能允许本地攻击者在无需用户交互的情况下获得 root 权限。
Qualys 威胁研究部门 (TRU)于上个月初发现并报告了这些漏洞,并表示这些漏洞很容易被利用,因此用户必须迅速采取行动来修复。据信这些漏洞自 2014 年 4 月 27 日发布的needrestart 0.8引入解释器支持以来就一直存在。
Ubuntu 在一份公告中表示:“这些 needrestart 漏洞允许本地权限提升 (LPE),这意味着本地攻击者能够获得 root 权限”,并指出这些问题已在 3.8 版本中得到解决。
Needrestart 是一个实用程序,它可以扫描系统以确定在应用共享库更新后需要重新启动的服务,以避免整个系统重新启动。
以下列出了五个缺陷——
CVE-2024-48990(CVSS 评分:7.8) - 该漏洞允许本地攻击者通过诱骗 needrestart 使用攻击者控制的 PYTHONPATH 环境变量运行 Python 解释器,从而以 root 身份执行任意代码
CVE-2024-48991(CVSS 评分:7.8) - 该漏洞允许本地攻击者通过赢得竞争条件并诱骗 needrestart 运行自己的伪 Python 解释器,以 root 身份执行任意代码
CVE-2024-48992(CVSS 评分:7.8) - 一个漏洞,允许本地攻击者通过诱骗 needrestart 使用攻击者控制的 RUBYLIB 环境变量运行 Ruby 解释器,从而以 root 身份执行任意代码
CVE-2024-11003(CVSS 评分:7.8)和CVE-2024-10224(CVSS 评分:5.3)- 两个漏洞允许本地攻击者利用 libmodule-scandeps-perl 软件包(版本 1.36 之前)中的问题以 root 身份执行任意 shell 命令
成功利用上述缺陷可以允许本地攻击者为 PYTHONPATH 或 RUBYLIB 设置特制的环境变量,从而导致在运行 needrestart 时执行指向威胁行为者环境的任意代码。
Ubuntu 指出:“在 CVE-2024-10224 中,[...] 攻击者控制的输入可能导致 Module::ScanDeps Perl 模块通过 open() 一个‘讨厌的管道’(例如通过传递‘commands|’作为文件名)或通过将任意字符串传递给 eval() 来运行任意 shell 命令。”
“就其本身而言,这不足以实现本地权限提升。然而,在 CVE-2024-11003 中,needrestart 将攻击者控制的输入(文件名)传递给 Module::ScanDeps,并以 root 权限触发 CVE-2024-10224。CVE-2024-11003 的修复消除了 needrestart 对 Module::ScanDeps 的依赖。”
虽然强烈建议下载最新的补丁,但 Ubuntu 表示用户可以根据需要禁用解释器扫描器,重新启动配置文件作为临时缓解措施,并确保在应用更新后恢复更改。
Qualys 公司 TRU 产品经理 Saeed Abbasi 表示:“needrestart 实用程序中的这些漏洞允许本地用户通过在软件包安装或升级期间执行任意代码来提升其权限,其中 needrestart 通常以 root 用户身份运行。”
“利用这些漏洞的攻击者可以获得 root 访问权限,从而损害系统完整性和安全性。”
标签: 漏洞 Ubuntu Needrestart