当前位置:首页>Linux>紧急预警:Linux内核13年老漏洞“OVSwrap”曝光,普通用户即可提权至Root

紧急预警:Linux内核13年老漏洞“OVSwrap”曝光,普通用户即可提权至Root

  • 2026-10-11 06:16:01
紧急预警:Linux内核13年老漏洞“OVSwrap”曝光,普通用户即可提权至Root
导语:一个潜伏了13年之久的Linux内核高危提权漏洞近日被公开,影响几乎所有主流Linux发行版。攻击者仅需一个普通用户权限,就能轻松获得Root权限。你还在等官方补丁吗?小心,攻击者可能已经在行动了。

漏洞速览:CVE-2026-64531

近日,安全研究员 Asim Manizada 公开了一个名为 OVSwrap 的Linux内核本地提权漏洞,编号为 CVE-2026-64531,CVSS评分为 7.8(高危)。

该漏洞存在于Linux内核的Open vSwitch(开放虚拟交换机)数据路径组件中。它的可怕之处在于:允许一个没有任何特权的普通用户,在大量默认配置的Linux发行版上直接获得Root权限。

漏洞原理:一次“拆东墙补西墙”引发的灾难

这个漏洞的故事堪称“蝴蝶效应”的典型:

  1. 陈年旧疾(13年):漏洞的“种子”其实在代码中沉睡了约13年。Open vSwitch在处理内部操作(actions)时,未能严格检查单个嵌套操作属性的大小,导致其长度可能溢出16位的长度字段。

  2. 安全屏障(32 KiB限制):幸运的是,多年来一个32 KiB的总操作流大小上限限制无意中充当了“防火墙”,阻止了漏洞被触发。

  3. 好心办坏事(2025年3月):为了应对大型OpenStack部署中不可预测的故障,开发者移除了这个32 KiB的限制。这一改动在审查时只考虑了稳定性和用户问题,完全忽略了其安全影响。

  4. 潘多拉魔盒开启:限制移除后,攻击者可以提交一个精心构造的操作列表(例如包含数百个小型操作的CLONE动作),让内核生成超过65,535字节的内部操作数据。当这个超长数据被存入仅16位宽的nla_len长度字段时,就会发生整数溢出(长度值回绕成一个很小的数)。

漏洞利用的核心就在于这个“回绕”:

  • 内核后续会信任这个被截断的错误长度,并基于此从数据流的中间位置继续解析。

  • 攻击者可以精确控制这些被错误解析的数据内容(如conntrack的标签和超时名称)。

  • 这导致内核在解析过程中产生内存破坏,而攻击者无需复杂的堆(Heap)布局技术,可靠性极高。

攻击武器库:从信息泄露到Root Shell

研究员Manizada利用此漏洞开发了概念验证(PoC)利用程序,通过三个原语(Primitives) 链条实现提权:

  1. 内核指针泄露:通过伪造的OUTPUT操作,获取内核关键内存地址,绕过KASLR等防护机制。

  2. 任意内核读取:通过伪造的隧道SET操作,读取内核任意内存内容。

  3. 目标值递减:通过伪造的隧道目标指针的销毁过程,实现一次可控的内存递减操作。

最终效果:利用泄露的信息定位当前进程的凭证(cred)结构,通过递减操作将进程的用户ID(UID)和组ID(GID)直接改为0(Root)。随后,利用Root权限修改/etc/sudoers文件,并打开一个Root shell。

影响范围:广岛级别的“杀伤力”

该漏洞的覆盖面极广,几乎所有主流Linux发行版的默认配置都受影响,包括但不限于:

  • Red Hat系:AlmaLinux 9/10, CentOS Stream 9/10, Rocky Linux 9/10, Fedora 42-44

  • Debian系:Debian 12/13, Ubuntu 22.04/24.04/26.04, Linux Mint 22.3, Kali 2026.1

  • 其他:Arch Linux, Alpine 3.22-3.24, Amazon Linux 2023, NixOS, openSUSE Tumbleweed, Pop!_OS

特别说明:

  • Ubuntu 24.04 默认通过AppArmor阻止命名空间创建,但PoC中提供了aa-exec回退方案,依然可被利用。

  • Ubuntu 26.04 默认阻止,但如果用户关闭了AppArmor的命名空间限制,同样面临风险。

为什么影响如此之大?
因为攻击者只需满足一个极低的条件:在拥有网络命名空间(network namespace)的用户命名空间(user namespace)中具有CAP_NET_ADMIN能力。

  • 一个普通用户通过unshare -Urn命令即可轻松创建一个新的用户和网络命名空间,并自动获得CAP_NET_ADMIN权限。在绝大多数默认启用非特权用户命名空间的发行版上,这几乎是“畅通无阻”的。

紧急行动指南:现在必须做什么?

上游内核已于7月24日在稳定分支中发布了修复补丁。如果你的发行版尚未推送更新,请立即行动:

方案一:安装补丁(首选)

检查你的Linux发行版官方仓库,立即安装已修补的vendor内核。这是最根本的解决方案。

方案二:临时缓解(无法立即打补丁时)

  1. 彻底禁用Open vSwitch模块(如果系统不需要OVS):

    bash

    echo'install openvswitch /bin/false'> /etc/modprobe.d/ovswrap.conf

    注意:此命令仅阻止未来加载模块。如果模块已在内存中,必须重启系统或手动卸载模块才能生效。

  2. 禁用非特权用户命名空间(关闭本地攻击路径):

    • 这可以有效阻止普通用户的直接攻击,但无法保护已经拥有网络命名空间CAP_NET_ADMIN权限的容器进程。

    • 具体操作方法因发行版而异(例如,可通过sysctl或内核引导参数设置)。

  3. 部署紧急BPF防护(高级用户):

    • 漏洞PoC仓库中提供了一个紧急的BPF程序,适用于必须同时保留OVS和用户命名空间的环境,可作为最后一道防线。

写在最后

CVE-2026-64531 是一个典型的由代码演进引发的安全灾难,其“逻辑漏洞级的可靠性”让防御变得极为困难。攻击者无需任何前置条件,只需一个普通Shell账号即可完成提权。

请所有系统管理员立刻检查并行动! 这不再是一个“潜在风险”,而是一个拥有公开PoC、随时可能被大规模利用的现实威胁。

转发提醒,让更多人避开这场安全风暴!

最新文章

随机文章