Linux致命漏洞CVE-2025-6018和CVE-2025-6019

Qualys 最近披露了两个影响主流 Linux 发行版的本地权限提升 (LPE) 漏洞,分别是 CVE-2025-6018CVE-2025-6019。这两个漏洞可以被串联利用,使得非特权用户在几秒钟内获得系统的 root 权限,从而实现对系统的完全控制。

一、漏洞详情

这两个漏洞的详细情况如下:

1. CVE-2025-6018:PAM 中的非特权用户到 allow_active 权限提升
  • 影响范围: 主要存在于 openSUSE Leap 15 和 SUSE Linux Enterprise 15 的 Pluggable Authentication Modules (PAM) 配置中。
  • 漏洞性质: 这是一个本地权限提升漏洞。
  • 工作原理: 允许一个非特权的本地攻击者(例如通过 SSH 连接的用户)将权限提升到 "allow_active" 用户。这个 "allow_active" 权限通常保留给物理在场的用户,用于执行特定的 Polkit 操作。Qualys 的研究表明,通过 PAM 的配置缺陷,攻击者可以篡改环境变量,从而绕过 Polkit 的 allow_active 信任区域。
2. CVE-2025-6019:allow_active 用户到 root 权限提升
  • 影响范围: 影响 libblockdev 库,并通过 udisks 守护进程进行利用,udisks 守护进程在大多数 Linux 发行版中默认安装。
  • 漏洞性质: 这是一个本地权限提升漏洞。
  • 工作原理: 这个漏洞允许具有 "allow_active" 权限的用户获得完整的 root 权限。即使 CVE-2025-6019 独立利用需要先获得 "allow_active" 权限,但当它与 CVE-2025-6018 串联使用时,一个完全非特权的攻击者也能最终获得 root 权限。攻击者可以利用 udisks 的功能,例如通过挂载带有 SUID-root shell 的任意 XFS 镜像,并请求 udisks 守护进程调整文件系统大小(这会在 /tmp 挂载时不会带有 nosuidnodev 标志),从而执行 SUID-root shell,最终获得 root 权限。

二、漏洞链的危害

这两个漏洞的真正危险之处在于它们可以串联使用。具体来说:

  1. CVE-2025-6018 允许非特权用户将权限提升到 "allow_active" 状态。
  2. 一旦获得 "allow_active" 权限,攻击者就可以利用 CVE-2025-6019,通过 libblockdevudisks 进一步将权限提升到 root

这意味着,拥有任何活跃 GUI 或 SSH 会话的攻击者,只要利用这两个漏洞,就可以在几秒钟内从普通登录用户直接获得系统的完全控制权。一旦获得 root 权限,攻击者将可以随意修改安全控制、植入后门以进行持久化访问,并将受感染系统作为跳板进行进一步的网络渗透。

Qualys 表示已开发出概念验证 (PoC) 漏洞利用,并在包括 Ubuntu、Debian、Fedora 和 openSUSE Leap 15 在内的多个主流 Linux 发行版上验证了这些漏洞。

三、缓解措施

鉴于这些漏洞的严重性和易于利用性,Qualys 强调这应被视为一个关键且普遍的风险

  • 立即打补丁: 最重要的缓解措施是立即从您的 Linux 发行版供应商处获取并应用相应的补丁。许多主流发行版(如 Ubuntu)已经发布了针对这些漏洞的修复。
  • 配置更改: 如果暂时无法打补丁,Qualys 专家建议修改 polkit 规则中针对 "org.freedesktop.udisks2.modify-device" 的 allow_active 设置,将其从 yes 更改为 auth_admin。这将要求管理员认证才能执行该操作,从而增加利用难度。

四、如何检查你的系统是否受影响

由于这些是新发现的漏洞,并且补丁正在陆续发布,最准确的检查方法是:

  1. 查看你的发行版官方安全公告: 访问你的 Linux 发行版(如 Ubuntu、Debian、Fedora、openSUSE 等)的官方安全公告页面。搜索 CVE-2025-6018CVE-2025-6019。这些公告会详细说明受影响的版本、已发布的补丁版本以及任何临时的缓解措施。

    • Ubuntu: 通常在 Ubuntu Security Notices 页面查找。
    • Debian: 可以在 Debian Security Advisories 页面查找。
    • Fedora/Red Hat: 可以在 Red Hat Security Advisories 或 Fedora Project Updates 页面查找。
    • openSUSE/SUSE: 可以在 SUSE Security Advisories 页面查找。
  2. 检查相关软件包版本:

    • CVE-2025-6018 主要涉及 PAM (Pluggable Authentication Modules) 的配置,尤其是在 openSUSE Leap 15 和 SUSE Linux Enterprise 15 上。Ubuntu 默认安装可能不受此特定漏洞的影响,但最好还是查看官方说明。
    • CVE-2025-6019 影响 libblockdev 库,并通过 udisks 守护进程利用。这个漏洞在大多数 Linux 发行版中都存在,因为它涉及到 udisks 这个普遍存在的组件。
    • 你可以使用包管理器查询当前安装的 libblockdevudisks2(或 udisks)软件包版本。
      • Debian/Ubuntu: dpkg -l | grep libblockdevdpkg -l | grep udisks2
      • Fedora/CentOS/RHEL: rpm -qa | grep libblockdevrpm -qa | grep udisks2
      • openSUSE/SUSE: rpm -qa | grep libblockdevrpm -qa | grep udisks2
    • 然后将你查询到的版本与官方安全公告中提及的已修复版本进行比对。
  3. Qualys 漏洞检测: 如果你的组织使用 Qualys 等漏洞扫描工具,它们会发布相关的 QID(Qualys ID)来检测这些漏洞,通过扫描你的系统可以快速识别是否存在风险。

五、如何更新(打补丁)

更新你的系统以修复这些漏洞的关键在于应用最新的官方补丁。具体步骤取决于你的 Linux 发行版。

1. Ubuntu/Debian

通常,这两个发行版使用 aptapt-get 包管理器。

  1. 更新包列表:
    sudo apt update
    
  2. 执行系统升级:
    sudo apt upgrade
    
    或者执行更全面的发行版升级(如果需要升级到新的主要版本,但在大多数情况下 upgrade 足够): 
    sudo apt dist-upgrade
    
    这会下载并安装所有可用的安全更新和软件包更新,包括针对这两个 CVE 的补丁(如果你的发行版已发布)。
  3. 检查更新后的版本: 更新完成后,可以再次使用 dpkg -l 命令检查 libblockdevudisks2(以及 PAM 相关组件)的版本,并与官方公告中的修复版本进行核对。
  4. 重启系统: 如果涉及到内核、glibc、PAM 或其他核心系统组件的更新,强烈建议重启你的系统以确保所有更改生效,并且旧的、有漏洞的服务进程被替换。
2. Fedora/CentOS/RHEL

这些发行版使用 dnfyum 包管理器。

  1. 更新包列表并安装更新: 
    sudo dnf update # 或者 sudo yum update
    
    这将下载并安装所有可用的安全更新和软件包更新。
  2. 检查更新后的版本: 更新完成后,使用 rpm -qa | grep libblockdevrpm -qa | grep udisks2 来验证版本是否已更新到安全版本。
  3. 重启系统: 同样,强烈建议重启系统以确保所有关键组件的更新生效。
3. openSUSE/SUSE Linux Enterprise

openSUSE 使用 zypper 包管理器。

  1. 更新包列表并安装更新:
    sudo zypper refresh
    sudo zypper update
    
    或者只安装推荐的更新:
    sudo zypper patch
    
  2. 检查更新后的版本: 使用 rpm -qa | grep libblockdevrpm -qa | grep udisks2 来验证版本。
  3. 重启系统: 建议重启系统以应用所有更新。

六、临时缓解措施 (如果无法立即打补丁)

如果无法立即应用补丁,Qualys 建议采取以下临时缓解措施,但这不能完全替代打补丁:

  • 修改 Polkit 规则: 修改 /etc/polkit-1/rules.d/ 目录下相关的 Polkit 规则文件(可能需要根据你的系统找到正确的文件),将 org.freedesktop.udisks2.modify-device 动作的 allow_active 设置从 yes 更改为 auth_admin。 例如,你可能需要编辑一个类似于 /etc/polkit-1/rules.d/10-udisks2.rules 或类似的文件,找到类似以下内容: 
    polkit.addRule(function(action, subject) {if (action.id == "org.freedesktop.udisks2.modify-device" &&subject.isInGroup("users") || subject.active) { // subject.active 部分return polkit.Result.YES; // 更改为 polkit.Result.AUTH_ADMIN;}
    });
    
    将其中的 polkit.Result.YES 更改为 polkit.Result.AUTH_ADMIN。这会要求管理员认证才能执行该操作,从而增加攻击者利用的难度。请务必小心操作,并在修改前备份相关文件。

重要提示:

  • 及时关注官方公告: Linux 发行版会不断发布新的安全更新。请务必定期查看你所用发行版的官方安全公告,以获取最准确和最新的信息。
  • 重启的重要性: 即使你的包管理器显示更新已完成,许多核心组件(如PAM库、udev等)的更改只有在进程重启后才能完全生效。对于服务器,这可能意味着需要计划停机以进行完整的系统重启。

七、 排查脚本示例

# 检查是否仍允许 allow_active
grep -A3 modify-device /usr/share/polkit-1/actions/org.freedesktop.UDisks2.policy \
| grep -q "<allow_active>yes</allow_active>" && \
echo "[!] 仍存在风险,需改成 auth_admin"# 检查 libblockdev 版本
rpm -q libblockdev || dpkg -l | grep libblockdev

八、总结

CVE-2025-6018 和 CVE-2025-6019 是非常危险的本地权限提升漏洞,它们可以被串联利用,让非特权用户轻松获得 Linux 系统的 root 权限。系统管理员应高度重视这些漏洞,并尽快采取措施进行修复,以保护系统安全。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/84813.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/84813.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Docker基础】Docker镜像管理:docker push详解

目录 引言 1 Docker镜像推送基础概念 1.1 什么是Docker镜像推送 1.2 镜像仓库概述 1.3 镜像标签与版本控制 2 docker push命令详解 2.1 基本语法 2.2 常用参数选项 2.3 实际命令示例 2.4 推送流程 2.5 步骤描述 3 镜像推送实践示例 3.1 登录管理 3.2 标签管理 3…

FPGA基础 -- Verilog行为建模之循环语句

行为级建模&#xff08;Behavioral Modeling&#xff09;是 Verilog HDL 中最接近软件编程语言的一种描述方式&#xff0c;适用于功能建模和仿真建模的初期阶段。在行为级中&#xff0c;循环语句&#xff08;loop statements&#xff09;是常见且重要的控制结构&#xff0c;用于…

从C学C++(7)——static成员

从C学C(7)——static成员 若无特殊说明&#xff0c;本博客所执行的C标准均为C11. static成员和成员函数 对于特定类型的全体对象而言&#xff0c;有时候可能需要访问一个全局的变量。比如说统计某种类型对象已创建的数量。 通常在C中使用全局变量来实现&#xff0c;如果我们…

大模型和ollama一起打包到一个docker镜像中

如何将大模型镜像和 Ollama 镜像打包在一个 Docker 镜像中 最近工作中有个需求是将ollama和大模型一起打成一个镜像部署&#xff0c;将自己的操作步骤分享给大家。将大模型与 Ollama 服务打包在同一个 Docker 镜像中&#xff0c;可以简化部署流程并确保环境一致性。下面详细介…

2025年渗透测试面试题总结-攻防研究员(应用安全)(题目+回答)

安全领域各种资源&#xff0c;学习文档&#xff0c;以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具&#xff0c;欢迎关注。 目录 攻防研究员(应用安全) 一、基础部分 1. HTTP状态码对比 2. HTTP请求方法核心作用 3. 网络分层协议速查表…

SpringBoot新闻项目学习day3--后台权限的增删改查以及权限管理分配

新增管理员修改管理员删除管理员登录 新增管理员 1.点击新增按钮打开一个对话框 2.确定新增对话框要显示哪些内容 3.提交 4.后端处理、保存 5.响应前端 vue代码 <template><!-- 新增代码内容是比较多的,建议抽取出来,定义到一个独立的vue文件中在列表组件中导入…

算法导论第二十五章 深度学习的伦理与社会影响

第二十五章 深度学习的伦理与社会影响 技术的光芒不应掩盖伦理的阴影 随着深度学习技术在各领域的广泛应用&#xff0c;其引发的伦理和社会问题日益凸显。本章将深入探讨这些挑战&#xff0c;并提供技术解决方案和最佳实践&#xff0c;引导读者构建负责任的人工智能系统。 25.…

Linux中ansible模块补充和playbook讲解

一、模块使用 1.1 Yum模块 功能&#xff1a;管理软件包&#xff0c;只支持RHEL&#xff0c;CentOS&#xff0c;fedora&#xff0c;不支持Ubuntu其它版本 参数说明name要操作的软件包名称&#xff0c;支持通配符&#xff08;如 httpd, nginx*&#xff09;&#xff0c;也可以是…

唐代大模型:智能重构下的盛世文明图谱

引言&#xff1a;当长安城遇见深度学习 一件唐代鎏金舞马衔杯银壶的虚拟复原品正通过全息投影技术演绎盛唐乐舞。这个跨越时空的场景&#xff0c;恰似唐代大模型技术的隐喻——以人工智能为纽带&#xff0c;连接起长安城的盛世气象与数字时代的文明重构。作为人工智能与历史学…

国产ARM/RISCV与OpenHarmony物联网项目(三)网关设备控制

一、设备控制界面与功能设计 程序界面运行与设计效果如下: 设备控制相关程序调用关系图如下&#xff1a; 其中device_control.html程序为网页界面显示程序&#xff0c;led_alarm.cgi程序为光线数据的报警超限数据设置与管理&#xff0c;led_control.cgi程序功能为对Led灯的开…

微信小程序反编译实战教程

在实际渗透测试或安全分析中&#xff0c;经常会遇到微信小程序中的签名加密&#xff08;sign&#xff09;机制&#xff0c;这些机制大多具备防重放、防篡改的特性&#xff0c;导致我们在抓包时难以直接复现请求。 &#x1f50d; 另一方面&#xff0c;一些小程序的代码中往往会…

【NLP入门系列三】NLP文本嵌入(以Embedding和EmbeddingBag为例)

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 博主简介&#xff1a;努力学习的22级本科生一枚 &#x1f31f;​&#xff1b;探索AI算法&#xff0c;C&#xff0c;go语言的世界&#xff1b;在迷茫中寻找光芒…

文心一言(ERNIE Bot):百度打造的知识增强大语言模型

1. 产品概述 文心一言&#xff08;ERNIE Bot&#xff09;是百度自主研发的知识增强大语言模型&#xff0c;于2023年3月16日正式发布&#xff0c;对标OpenAI的ChatGPT&#xff0c;具备文本生成、多模态交互、逻辑推理、中文理解等能力。该模型基于百度的飞桨深度学习平台和文心…

Java-49 深入浅出 Tomcat 手写 Tomcat 实现【02】HttpServlet Request RequestProcessor

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; &#x1f680; AI篇持续更新中&#xff01;&#xff08;长期更新&#xff09; 目前2025年06月13日更新到&#xff1a; AI炼丹日志-28 - Aud…

在VB.net中,文本插入的几个自定义函数

一、如果你是高手&#xff0c;一定“识货”&#xff0c;分享给你 二、可应用于文本插入的几种方式&#xff1a;6种 三、需要用到以下的几个函数&#xff1a; 上代码&#xff1a; Module TextModule <summary> 在指定位置插入文本 </summary> <p…

QC -io 服务器排查报错方式/报错: Failed to convert string to integer of varId variable!“

进断点控制台有报错之后&#xff0c;复制报错信息到 头部菜单栏 1.编辑 -> 2.Find/Replace ->3.Advanced Find ->4. Project“xxxxx” 能找到问题点 再分析定位 在排查报错时候&#xff0c;进入了这个报错&#xff0c;msgInfo "MyTcpRedis: Failed to conver…

c++中auto与decltype使用

在 C11及后续版本中&#xff0c;关键字auto和decltype都是用于类型推导的&#xff0c;但它们的使用场景和行为有所不同。 1. auto 关键字 作用 auto 用于自动推导变量的类型&#xff0c;由编译器根据初始化表达式来确定。 常见用法 // 基本用法 auto x 42; // int…

LabVIEW机器视觉零件检测

基于LabVIEW 图形化编程平台与机器视觉技术&#xff0c;构建集图像采集、处理、尺寸计算与合格性分析于一体的自动化检测方案。通过模块化硬件架构与自适应算法设计&#xff0c;实现对机械零件多维度尺寸的非接触式高精度测量&#xff0c;相比人工检测效率提升 12 倍&#xff0…

大数据治理域——实时数据开发

摘要 本文深入探讨了大数据治理域中的实时数据开发&#xff0c;重点介绍了流式数据处理的核心价值、特点、技术挑战、典型能力和应用场景。同时&#xff0c;详细阐述了流式技术架构&#xff0c;包括数据采集、处理、存储和服务等环节&#xff0c;并针对大促场景提出了相应的技…

Halcon/C# 图像窗口、读取图片及仿射变换

一、Halcon 清理窗口 清除图像窗口的显示。 dev_clear_window() 二、Halcon 读取图片 (一) 读取一张图片 read_image (Image, printer_chip/printer_chip_01)Image&#xff1a;&#xff08;输出参数&#xff09;读取到的图片变量名 第二个参数&#xff1a;图片路径&#xf…