当前位置:首页>Linux>【复现】Linux内核Open vSwitch本地提权漏洞(CVE-2026-64531)

【复现】Linux内核Open vSwitch本地提权漏洞(CVE-2026-64531)

  • 2026-10-11 06:30:41
【复现】Linux内核Open vSwitch本地提权漏洞(CVE-2026-64531)

更多安全资讯和分析文章请关注启明星辰ADLab微信公众号及官方网站(adlab.venustech.com.cn)

Open vSwitch(OVS)是Linux内核网络子系统的开源虚拟交换平台,在云计算与容器化环境中承担着SDN数据平面的枢纽角色,广泛用于支撑多租户网络隔离与跨主机Overlay通信。OVS的数据平面以内核模块形式运行,负责报文的高速查找与转发,而控制平面则由用户态进程承载,通过配置下发实现对数据平面行为的动态编排。其关键特性在于,用户态下发的流表动作序列需经由内核模块的严格解析与重组,转换为内部优化的sw_flow_actions表示后方可挂载执行。

Linux内核Open vSwitch本地提权漏洞(CVE-2026-64531)于2026年7月27日公开,CVSS 3.1评分为7.8分。该漏洞源于Open vSwitch内核模块在处理Netlink消息中的嵌套actions时,未对nla_len字段进行有效边界校验,导致攻击者可通过特制的超大嵌套长度触发整型截断与错位解析,获取内核内存操作原语,继而破坏进程凭证或篡改sudoers配置,实现本地提权至root。

根据FOFA查询数据,截至2026年8月6日,互联网上存在48,163,743个潜在的易受攻击Linux相关资产。由于该漏洞技术细节已在互联网公开,攻击利用可能性较高,对于使用该服务的组织来说构成了直接且严重的风险。

  • 影响范围

      (1)已确认受影响的内核版本

      • 5.15.180 <= Linux Kernel (5.15 分支) < 5.15.212

      • 6.1.132 <= Linux Kernel (6.1 分支) < 6.1.178

      • 6.6.84 <= Linux Kernel (6.6 分支) < 6.6.145

      • 6.12.20 <= Linux Kernel (6.12 分支) < 6.12.97

      • 6.13.8 <= Linux Kernel (6.13 分支) <= 6.13.12(该分支已停止维护,无修复版本)

      • 6.14 <= Linux Kernel (6.14 至 6.17 分支) <= 6.17(所有版本均受影响,已停止维护,无修复版本)

      • 6.18.0 <= Linux Kernel (6.18 分支) < 6.18.40

      • Linux Kernel 6.19(所有正式版本均受影响,已停止维护,无修复版本)

      • Linux Kernel 7.0(所有正式版本均受影响,已停止维护,无修复版本)

      • 7.1.0 <= Linux Kernel (7.1 分支) < 7.1.5

      • Linux Kernel 主线版本 < 7.2-rc4(自 7.2-rc4 起修复)

      (2)已确认受影响的操作系统发行版本

      • AlmaLinux 9.7、9.8、10.1、10.2

      • Alpine Linux 3.22、3.23、3.24

      • Amazon Linux 2023

      • Arch Linux

      • CentOS Stream 9、10

      • Debian 12、13

      • Fedora 40、41、42、43、44

      • Kali Linux 2026.1

      • Linux Mint 22.3

      • NixOS 24.11、25.05、25.11、26.05

      • openSUSE Tumbleweed

      • Pop!_OS 22.04、24.04

      • Rocky Linux 9、10

      • Ubuntu 22.04(Desktop 和 Server)、Ubuntu 24.04(Desktop 和 Server)

      • 漏洞描述

      CVE-2026-64531是Linux内核Open vSwitch(OVS)datapath子系统中的一个本地权限提升漏洞。OVS将用户空间提交的action列表校验并重写为更大的内部sw_flow_actions流,内部action以Netlink属性存储,其nla_len字段仅16位。由于2025年3月移除了旧的32 KiB总action流上限,单个嵌套action(如CLONE)可膨胀超过65535字节,add_nested_action_end()回填长度时发生16位整数回绕,导致后续dump/free消费方信任回绕后的短长度而解析失步。攻击者可借此构造内核指针泄漏、任意内核读与定向32位递减原语,破坏宿主进程cred中的fsuid/fsgid并写入免密sudo规则,最终以普通用户身份获取root权限。
      • 漏洞原理

      该漏洞位于Linux内核Open vSwitch数据路径的flow action生成与解析路径中,核心代码文件为net/openvswitch/flow_netlink.c。OVS内核模块在处理用户态下发的action列表时,会通过ovs_nla_copy_actions()对其进行校验并重写为更大的内部表示sw_flow_actions流。其中每个Netlink属性的长度字段nla_len被定义为16位无符号整数,理论上限为65535字节。2025年3月,一次修改移除了内部action流总长度的32KiB上限,但并未同步引入针对单个嵌套action的长度上限检查,reserve_sfa_size()对累计长度只增不减:

      这导致攻击者可以通过CLONE嵌套大量小型conntrack action,使生成的嵌套action总长度超过65535字节:

      而由于代码在回填nla_len时直接将实际长度写入该16位字段,发生整数回绕:

      由于回绕后的长度与实际缓冲区长度严重失配,后续内核的dump和free路径在解析该伪造的嵌套action时会从攻击者可控的conntrack label或timeout name的中间位置继续解析,将伪造的字节识别为合法的OUTPUT、SET等action。利用这种错位解析,攻击者可逐步构建出三个利用原语:

      • 通过伪造的OUTPUT action泄露内核指针以获取内核基址。

      • 通过伪造的SET action使内核解引用攻击者可控的指针,实现任意内核地址读取。

      • 通过伪造的SET action配合dst_release()释放路径,对任意内核地址的32位值执行定向递减。

      借助这三个原语,攻击者可定位宿主机上某个进程的cred结构体,将其fsuid和fsgid从普通用户ID逐次递减至0(root),随后该进程以root身份向/etc/sudoers.d/写入免密sudo规则,执行sudo -n bash即可获得root shell。

      • 漏洞复现

      • 安全建议

        (1)官方安全更新(推荐):

        该漏洞已在主线内核 7.2-rc4 及以下稳定分支中修复,请根据当前内核版本,统一升级至对应的修复版本。

        • 5.15 分支:升级至 5.15.212 及以上版本

        • 6.1 分支:升级至 6.1.178 及以上版本

        • 6.6 分支:升级至 6.6.145 及以上版本

        • 6.12 分支:升级至 6.12.97 及以上版本

        • 6.18 分支:升级至 6.18.40 及以上版本

        • 7.1 分支:升级至 7.1.5 及以上版本

        注意:6.13、6.14~6.17、6.19、7.0分支已停止维护,官方未提供修复版本,建议迁移至受支持的内核分支。

        (2)临时缓解措施:

        在无法立即升级内核的环境中,可参考以下临时缓解方案:

        • 禁用Open vSwitch内核模块加载(如业务无强依赖)。

        • 若OVS为业务所必需且无法禁用,建议在隔离的受控环境中评估风险,并优先安排内核升级计划,避免在有潜在威胁的暴露面运行OVS相关服务。

        参考链接:

        [1] https://nvd.nist.gov/vuln/detail/CVE-2026-64531

        [2] https://heyitsas.im/posts/ovswrap/

        [3] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=3f1f755366687d051174739fb99f7d560202f60b

        启明星辰积极防御实验室(ADLab)

        ADLab成立于1999年,是中国安全行业最早成立的攻防技术研究实验室之一,微软MAPP计划核心成员,“黑雀攻击”概念首推者。截至目前,ADLab已通过 CNVD/CNNVD/NVDB/CVE累计发布安全漏洞7000余个,持续保持国际网络安全领域一流水准。实验室研究方向涵盖基础安全研究、电信运营商基础设施安全研究、移动终端安全研究、云安全研究、信创安全研究、物联网安全研究、车联网安全研究、工控安全研究、数据安全研究、5G安全研究、AI安全研究、卫星安全研究、低空安全研究、高级威胁研究、攻防体系建设。研究成果应用于产品核心技术研究、国家重点科技项目攻关、专业安全服务等。

        最新文章

        随机文章