帮你快速理解、总结文档立即下载
文档中心>TencentOS Server

Linux 内核 Bridge multicast 本地提权漏洞(CVE-2026-99117)

最近更新时间:2026-11-02 15:56:30
我的收藏
TencentOS 安全团队的 Corvus AI(科维斯 AI)主动发现了 Linux 内核网桥组播(Bridge multicast)本地提权漏洞(CVE-2026-99117)。该漏洞源于 bridge 端口销毁时,部分 port group 未随端口一并清理而遗留,继续引用已释放的 net_bridge_port 对象,形成释放后使用(UAF)。本地低权限攻击者可利用该缺陷回收并伪造 net_device,借助悬空指针实现任意读、绕过 KASLR、劫持 ndo_start_xmit,最终覆写 modprobe_path 完成本地提权至 root。
该漏洞自 Linux 5.10(2020 年)引入,在内核中潜伏约 5 年,影响 TencentOS Server 4 产品。该漏洞由 TencentOS 安全团队通过自研的 Corvus AI(科维斯 AI)主动发现,并在 TencentOS Server 4(内核 6.6.)目标环境完成本地提权验证,CVE 编号于 2026 年 10 月 28 日正式公开。TencentOS 开发团队与安全团队已完成漏洞分析与修复。鉴于该漏洞 PoC 与 Exp 均已验证可行,建议您根据 TencentOS 安全团队提供的修复方案完成升级,或应用临时缓解措施。
警告:鉴于该漏洞 PoC 与 Exp 均已验证可行,建议您根据 TencentOS 安全团队提供的修复方案完成升级,或应用临时缓解措施。

1. 漏洞详情

bridge multicast(net/bridge/br_multicast.c)是 Linux 内核网桥子系统中实现 IGMP/MLD 组播侦听(IGMP snooping)的模块,用于在二层网桥上根据组播成员关系转发组播流量,对应内核配置项 CONFIG_BRIDGE 与 CONFIG_BRIDGE_IGMP_SNOOPING。该漏洞的根因在于网桥端口销毁时,部分 port group 未随端口一并清理而遗留,继续引用已释放的 net_bridge_port 对象,形成释放后使用。
本地低权限攻击者可创建并销毁 bridge 端口触发该缺陷,随后回收并伪造 net_device,利用悬空指针实现任意读、绕过 KASLR,进一步劫持 ndo_start_xmit,最终覆写 modprobe_path 完成本地提权至 root,获取服务器最高权限。该漏洞为本地提权类型,攻击者需先获得目标主机的低权限账户,不涉及远程未认证利用。

2. 受影响 TencentOS Server 版本

TencentOS Server 4(内核 6.6.*)

自查方式

1. 确认环境内核版本是否在受影响范围内。
登录待查环境并执行以下命令:
uname -r
若输出的内核版本为 6.6.*,则处于疑似受影响范围,需继续排查内核编译选项。
2. 确认是否启用网桥组播功能。
执行以下命令检查网桥与 IGMP 组播侦听是否编译启用:
cat /boot/config-$(uname -r) | grep -w CONFIG_BRIDGE
cat /boot/config-$(uname -r) | grep -w CONFIG_BRIDGE_IGMP_SNOOPING
若两项输出分别为 CONFIG_BRIDGE=m(或 CONFIG_BRIDGE=y)与 CONFIG_BRIDGE_IGMP_SNOOPING=y,则受此漏洞影响;若输出为 # CONFIG_BRIDGE is not set 或 # CONFIG_BRIDGE_IGMP_SNOOPING is not set,则不具备该缺陷代码路径,不受影响。

3. 漏洞修复方案

TencentOS Server 已完成该漏洞修复,建议受影响用户通过官方软件源更新至对应内核修复版本,各系统版本的修复后内核版本如下:
系统版本
修复后内核版本
TencentOS Server 4
kernel-6.6.117-45.19.tl4
执行升级指令
sudo dnf update -y kernel
注意:
完成内核更新后,请在业务变更窗口完成系统重启。重启后执行 uname -r,确认当前运行内核已切换至修复版本,方可视为内核侧修复已生效。

4. 临时缓解措施

如果暂时无法完成内核升级与重启,可通过禁止 bridge 内核模块加载,并收紧非特权用户命名空间来降低风险。该漏洞的触发依赖攻击者在主机上创建并销毁 bridge 端口,阻断该路径即可使缺陷不可达。
警告:
禁用 bridge 模块将导致依赖网桥功能的业务无法正常工作,包括 Docker、Kubernetes 等依赖 bridge 网络的容器、虚拟机及网络业务。请业务排查后执行;若 bridge 模块已加载,请勿在生产环境中直接卸载。
1. 以 root 用户禁止加载并卸载 bridge 模块:
sh -c "printf 'install bridge /bin/false\\n' > /etc/modprobe.d/block-cve-2026-99117.conf; rmmod bridge 2>/dev/null; true"
2. 执行完成后检查是否应用成功:
cat /etc/modprobe.d/block-cve-2026-99117.conf
# 应当回显:install bridge /bin/false

cat /proc/modules | grep -w bridge
# 应当回显空
若配置文件内容为 install bridge /bin/false,且 /proc/modules 中无 bridge 模块条目,则模块禁用已生效。
3. 如业务允许,可同时收紧非特权用户命名空间,进一步降低利用可行性:
sysctl -w user.max_user_namespaces=0
# 如需持久化,写入 /etc/sysctl.d/99-cve-2026-99117.conf 后执行 sysctl --system
警告:
user.max_user_namespaces=0 会使非特权用户无法创建命名空间,影响 rootless 容器、非特权沙箱等业务,请结合业务依赖评估后执行。
说明:
以上措施只阻止 bridge 模块后续加载,不能卸载已在运行的模块,也不能替代内核升级。若 bridge 模块已加载且在业务中承载流量,建议结合业务依赖在维护窗口完成服务迁移或停机,再按变更流程重启系统并复查模块状态。后续如需恢复网桥功能,请删除 /etc/modprobe.d/block-cve-2026-99117.conf 后重新加载模块,建议在完成正式修复升级后再恢复。