关于Ubuntu needrestart权限提升漏洞(CVE-2024-48990)的安全预警
一、基本情况
needrestart是Ubuntu和其他基于Debian的Linux发行版中常用的一个工具,主要用于检测系统中是否有需要重启的服务或内核模块。它在软件包更新后运行,帮助管理员识别哪些服务或进程需要重新启动以使更新生效。
二、 漏洞描述
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安装才会受到影响。
四、 修复建议
目前这些漏洞已经修复,受影响用户可将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 |
五、 参考链接
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