安全通告|Linux 内核 net/sched act_pedit 本地提权漏洞CVE-2026-46331

漏洞基本信息

项目 内容
漏洞编号 CVE-2026-46331
漏洞名称 net/sched act_pedit 页缓存损坏本地提权
漏洞类型 本地提权
CVSS评分 7.1(High)
披露时间 2026年6月16日(NVD发布)
影响范围 Linux Kernel v5.18 至 v7.1-rc7(约4年,2022年5月~2026年6月)

漏洞描述

该漏洞位于Linux内核网络流量控制子系统(net/sched)的 act_pedit 动作模块中。

漏洞原理

  • tcf_pedit_act() 函数在处理网络数据包编辑时,于 key 循环之前使用 tcfp_off_max_hint 一次性计算 COW(Copy-On-Write)范围
  • 但该 hint 值未考虑 typed keys 在运行时添加的 header offset,导致部分写入区域未被正确 COW 处理
  • 这会造成页缓存(page cache)损坏,攻击者可借此实现本地提权

受影响内核版本

主线内核

版本范围 状态
v5.18 ~ v7.1-rc7 受影响
< v5.18 不受影响
>= v7.1 已修复

注:CVE 于2026年6月16日刚发布,各稳定分支的修复版本仍在陆续发布中。

openKylin受影响情况

临时缓解措施(来源于公开资料,风险需自行评估)

如无法立即升级内核,可通过以下方式降低风险:

方案1:限制非特权用户使用 tc 命令(推荐)

移除普通用户的 tc 执行权限:

chmod 750 /sbin/tc

方案2:卸载 act_pedit 模块(如未使用)

检查模块是否加载:

lsmod | grep pedit

如已加载且不需要,卸载模块并加入黑名单:

modprobe -r act_pedit
echo "blacklist act_pedit" >> /etc/modprobe.d/blacklist.conf

方案3:限制用户命名空间(减少本地攻击面)

echo "kernel.unprivileged_userns_clone = 0" >> /etc/sysctl.d/99-cve-2026-46331.conf
sysctl -p /etc/sysctl.d/99-cve-2026-46331.conf

参考资料

  1. NVD详情:https://nvd.nist.gov/vuln/detail/CVE-2026-46331
  2. CVE Record:https://www.cve.org/CVERecord?id=CVE-2026-46331
  3. 上游修复commit:https://git.kernel.org/stable/c/899ee91156e57784090c5565e4f31bd7dbffbc5a
  4. openKylin Security Governance SIG:https://gitee.com/openkylin/securitygovernance-management

openKylin Security Governance SIG

1 个赞