【漏洞通告】Ubuntu needrestart权限提升漏洞(CVE-2024-48990)
发布时间 2024-11-21
一、漏洞概述
漏洞名称 | Ubuntu needrestart权限提升漏洞 | ||
CVE ID | CVE-2024-48990 | ||
漏洞类型 | LPE | 发现时间 | 2024-11-21 |
漏洞评分 | 7.8 | 漏洞等级 | 高危 |
攻击向量 | 本地 | 所需权限 | 低 |
利用难度 | 低 | 用户交互 | 无 |
PoC/EXP | 未公开 | 在野利用 | 未发现 |
needrestart 是Ubuntu 和其他基于 Debian 的 Linux 发行版中常用的一个工具,主要用于检测系统中是否有需要重启的服务或内核模块。它在软件包更新后运行,帮助管理员识别哪些服务或进程需要重新启动以使更新生效。
2024年11月21日,启明星辰集团VSRC监测到Ubuntu needrestart包中存在多个本地权限提升漏洞,对目标系统具有本地访问权限的攻击者可利用这些漏洞在无需用户交互的情况下将权限提升到root,目前这些漏洞的技术细节已公开,详情如下:
CVE-2024-48990:Needrestart 使用从正在运行的进程中提取的 PYTHONPATH 环境变量执行 Python 解释器,如果本地攻击者控制该变量,可以通过植入恶意共享库在 Python 初始化期间以 root 身份执行任意代码。
CVE-2024-48992:needrestart 使用的 Ruby 解释器在处理攻击者控制的 RUBYLIB 环境变量时存在漏洞,允许本地攻击者通过向进程注入恶意库以 root 身份执行任意 Ruby 代码。
CVE-2024-48991:needrestart 中的竞争条件漏洞允许本地攻击者用恶意可执行文件替换正在验证的 Python 解释器二进制文件,诱骗 needrestart运行其伪 Python 解释器,从而以 root 身份执行任意代码。
CVE-2024-10224/ CVE-2024-11003:Module::ScanDeps Perl 模块用于分析依赖关系,它允许用户通过 open() 调用外部文件或执行命令,由于它对输入缺乏严格验证,攻击者可以提供恶意输入:使用管道符号(例如将“commands|”作为文件名传递),或将任意字符串传递给 来运行任意 shell 命令或Perl代码。在 CVE-2024-11003 中,needrestart 使用 Module::ScanDeps 来分析依赖文件,如果 needrestart 在以 root 权限运行时,错误地将用户可控的输入(例如文件名)传递给 Module::ScanDeps,就会以 root 特权触发 CVE-2024-10224漏洞。
二、影响范围
受影响包版本
0.8 <= needrestart < 3.8
受影响Ubuntu发行版
受影响Ubuntu版本 | 受影响包名 | 受影响包版本 |
Xenial (16.04) | needrestart | <= 2.6-1 |
libmodule-scandeps-perl | <= 1.20-1 | |
Bionic (18.04) | needrestart | <= 3.1-1ubuntu0.1 |
libmodule-scandeps-perl | <= 1.24-1 | |
Focal (20.04) | needrestart | <= 3.4-6ubuntu0.1 |
libmodule-scandeps-perl | <= 1.27-1 | |
Jammy (22.04) | needrestart | <= 3.5-5ubuntu2.1 |
libmodule-scandeps-perl | <= 1.31-1 | |
Noble (24.04) | needrestart | <= 3.6-7ubuntu4.1 |
libmodule-scandeps-perl | <= 1.35-1 | |
Oracular (24.10) | needrestart | <= 3.6-8ubuntu4 |
libmodule-scandeps-perl | < 1.35-1 |
注:Jammy、Noble 和 Oracular 版本中needrestart 包是默认安装的,因此这些版本的服务器安装会受到影响。只有手动安装了 needrestart 后,Jammy 之前的桌面安装和默认 Ubuntu Server 安装才会受到影响。
三、安全措施
3.1 升级版本
目前这些漏洞已经修复,受影响用户可将needrestart包更新到3.8或更高版本,Ubuntu用户可将受影响包升级到以下相应版本:
Ubuntu发行版 | 修复包版本 | 说明 |
Ubuntu 24.10 | libmodule-scandeps-perl - 1.35-1ubuntu0.24.10.1 needrestart - 3.6-8ubuntu4.2 | / |
Ubuntu 24.04 | libmodule-scandeps-perl - 1.35-1ubuntu0.24.04.1 needrestart - 3.6-7ubuntu4.3 | / |
Ubuntu 22.04 | libmodule-scandeps-perl - 1.31-1ubuntu0.1 needrestart - 3.5-5ubuntu2.2 | / |
Ubuntu 20.04 | libmodule-scandeps-perl - 1.27-1ubuntu0.1~esm1 needrestart - 3.4-6ubuntu0.1+esm1 | 适用于Ubuntu Pro |
Ubuntu 18.04 | libmodule-scandeps-perl - 1.24-1ubuntu0.1~esm1 needrestart - 3.1-1ubuntu0.1+esm1 | 适用于Ubuntu Pro |
Ubuntu 16.04 | libmodule-scandeps-perl - 1.20-1ubuntu0.1~esm1 needrestart - 2.6-1ubuntu0.1~esm1 | 适用于Ubuntu Pro |
3.2 临时措施
1.Ubuntu系统上检查是否受到这些漏洞影响。
在系统上运行以下命令并将列出的版本与上表进行比较:
apt list --installed | grep "^\(needrestart\|libmodule-scandeps-perl\)"
2.修复措施。
建议升级所有软件包:
sudo apt update && sudo apt upgrade
如果不能执行此操作,可以针对受影响的组件进行以下操作:
sudo apt update && sudo apt install --only-upgrade needrestart libmodule-scandeps-perl
unattended-upgrades功能在Ubuntu 16.04 LTS 及更高版本中默认启用,如果启用此功能,上述补丁将在可用后 24 小时内自动应用。
3.缓解措施。
修改/etc/needrestart/needrestart.conf 文件以禁用解释器扫描功能,从而防止漏洞被利用:
# Disable interpreter scanners.
$nrconf{interpscan} = 0;
3.3 通用建议
l 定期更新系统补丁,减少系统漏洞,提升服务器的安全性。
l 加强系统和网络的访问控制,修改防火墙策略,关闭非必要的应用端口或服务,减少将危险服务(如SSH、RDP等)暴露到公网,减少攻击面。
l 使用企业级安全产品,提升企业的网络安全性能。
l 加强系统用户和权限管理,启用多因素认证机制和最小权限原则,用户和软件权限应保持在最低限度。
l 启用强密码策略并设置为定期修改。
3.4 参考链接
https://ubuntu.com/blog/needrestart-local-privilege-escalation
https://ubuntu.com/security/notices/USN-7117-1
https://www.qualys.com/2024/11/19/needrestart/needrestart.txt
四、版本信息
版本 | 日期 | 备注 |
V1.0 | 2024-11-21 | 首次发布 |
五、附录
5.1 公司简介
启明星辰成立于1996年,是由留美博士严望佳女士创建的、拥有完全自主知识产权的信息安全高科技企业。是国内最具实力的信息安全产品、安全服务解决方案的领航企业之一。
公司总部位于北京市中关村软件园启明星辰大厦,公司员工6000余人,研发团队1200余人, 技术服务团队1300余人。在全国各省、市、自治区设立分支机构六十多个,拥有覆盖全国的销售体系、渠道体系和技术支持体系。公司于2010年6月23日在深圳中小板挂牌上市。(股票代码:002439)
多年来,启明星辰致力于提供具有国际竞争力的自主创新的安全产品和最佳实践服务,帮助客户全面提升其IT基础设施的安全性和生产效能,为打造和提升国际化的民族信息安全产业领军品牌而不懈努力。
5.2 关于我们
启明星辰安全应急响应中心已发布1000多个漏洞通告和风险预警,我们将持续跟踪全球最新的网络安全事件和漏洞,为企业的信息安全保驾护航。
关注我们: