Ubuntu Needrestart 软件发现存在十年的安全漏洞

摘要:Ubuntu Server(自 21.04 版起)默认安装的 needrestart 包中被发现存在多个已有十年历史的安全漏洞,这些漏洞可能允许本地攻击者在无需用户交互的情况下获得 root 权限。

Ubuntu Server(自 21.04 版起)默认安装的 needrestart 包中被发现存在多个已有十年历史的安全漏洞,这些漏洞可能允许本地攻击者在无需用户交互的情况下获得 root 权限。

Qualys 威胁研究部门 (TRU)于上个月初发现并报告了这些漏洞,并表示这些漏洞很容易被利用,因此用户必须迅速采取行动来修复。

据信这些漏洞自 2014 年 4 月 27 日发布的needrestart 0.8引入解释器支持以来就一直存在。

Ubuntu 在一份公告中表示:“这些 needrestart 漏洞允许本地特权升级 (LPE),这意味着本地攻击者能够获得 root 权限” ,并指出这些问题已在 3.8 版中得到解决。“这些漏洞影响 Debian、Ubuntu 和其他 Linux 发行版。”

Needrestart 是一个实用程序,它可以扫描系统以确定在应用共享库更新后需要重新启动的服务,以避免整个系统重新启动。

具体来说,如果服务正在使用过时的共享库(例如在软件包更新期间替换库),它会标记服务以进行重新启动。

由于它集成到服务器映像中,因此 needrestart 设置为在 APT 操作(如安装、升级或删除,包括无人值守升级)后自动运行。其主要作用是识别在关键库更新后需要重新启动的服务,例如 C 库 (glibc)。此过程可确保服务使用最新的库版本,而无需完全重启系统,从而提高正常运行时间和性能。

通过使用最新的库及时更新服务,needrestart 对于维护 Ubuntu Server 的安全性和效率至关重要。

Qualys 威胁研究部门发现的5个漏洞:

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 访问权限,从而损害系统完整性和安全性。”

参考漏洞公告:

新闻链接:

来源:会杀毒的单反狗

相关推荐