聚焦源代码安全,网罗国内外最新资讯!
编译:代码卫士
这些漏洞由Qualys 公司发现,编号为CVE-2024-48990、CVE-2024-48991、CVE-2024-48992、CVE-2024-10224和CVE-2024-11003。这些漏洞在2014年4月发布的 needrestart 版本 0.8中引入,在昨天发布的3.8版本中修复。
Needrestart 工具常用于 Linux 上,包括 Ubuntu Server在内,旨在识别包更新后需要重启的服务,确保这些服务运行的是最新的共享库版本。
这五个漏洞可导致对易受攻击 Linux 系统具有本地访问权限的攻击者在无需用户交互的前提下将权限提升至 root。它们的概览如下:
CVE-2024-48990:Needrestart 通过从运行进程中提取的 PYTHONPATH 环境变量执行 Python 解释器。如果本地攻击者控制该变量,则可通过植入恶意共享库的方式在 Python 初始化过程中以 root 权限执行任意代码。
CVE-2024-48992:当处理受攻击者控制的 RUBYLIB 环境变量时,needrestart 使用的 Ruby 解释器易受攻击,从而导致本地攻击者通过将恶意库注入该进程的方式,以 root 身份执行任意 Ruby 代码。
CVE-2024-48991:needrestart 中的条件竞争可导致本地攻击者用恶意可执行文件取代正在验证的 Python 解释器二进制。通过仔细计算替代的时间,它们可诱骗 needrestart 以root身份运行代码。
CVE-2024-10224:needrestart 使用的Perl 的 ScanDeps 模块,不正确地处理了由攻击者提供的文件名称。攻击者可构造与shell命令相似的文件名称(如命令|)在文件打开时以root身份执行任意命令。
CVE-2024-11003:Needrestart 对 ScanDeps 模块的依赖使其暴露于 ScanDeps 本身的漏洞影响,即不安全使用 eval() 函数可导致在处理受攻击者控制的输入时造成任意代码执行后果。
值得注意的是,攻击者要利用这些漏洞,必须通过恶意软件或受陷账户对操作系统具有本地访问权限,缓解该风险。然而,攻击者曾能类似的 Linux 提权漏洞获得 root 权限,包括 Loony Tunables 和 nf_tables 漏洞个,因此不能因为需要本地访问权限就忽视这个新漏洞。
随着 needrestart 的广泛使用及其长时间易受攻击,如上漏洞可导致在关键系统上提权。除了更新至3.8或后续版本外,建议修改 needrestart.conf 文件,禁用解释器扫描特性,阻止漏洞遭利用,从而阻止 needrestart 执行带有受攻击者控制的环境变量的解释器。
因“合规要求”,Linux Kernel 清除了11名俄罗斯开发者的维护者身份
https://www.bleepingcomputer.com/news/security/ubuntu-linux-impacted-by-decade-old-needrestart-flaw-that-gives-root/
题图:Pixabay License
本文由奇安信编译,不代表奇安信观点。转载请注明“转自奇安信代码卫士 https://codesafe.qianxin.com”。
奇安信代码卫士 (codesafe)
国内首个专注于软件开发安全的产品线。
觉得不错,就点个 “在看” 或 "赞” 吧~