net/sched 部分写时复制 (COW) 页面缓存损坏
一个由流量控制 (tc) 数据包编辑子系统中不正确的写时复制 (COW) 处理引起的 Linux 内核漏洞。
CVE-2026-46331 是一个影响 net/sched 数据包编辑 (act_pedit) 子系统的 Linux 内核漏洞。
该漏洞产生的原因是内核在 实际数据包编辑偏移量被确定之前 就计算了可写的写时复制 (COW) 范围。当运行时头部偏移量被应用时,内存的某些部分可能保持可写状态而未被复制,从而导致 页面缓存损坏。
在特定条件下,此损坏可以成为 本地权限提升 (LPE) 或内核不稳定的强大原语。:contentReference[oaicite:0]{index=0}
Linux Kernel
└── net/
└── sched/
└── act_pedit.c
受影响函数:
tcf_pedit_act()
问题:
skb_ensure_writable()
│
▼
仅计算一次可写范围
│
▼
运行时的头部偏移量随后发生变化
│
▼
修改 COW 区域之外的内存
│
▼
页面缓存损坏
存在漏洞的实现:
tcfp_off_max_hint。这创建了部分写时复制条件,可能损坏缓存的内核页面。:contentReference[oaicite:1]{index=1}
可能的后果包括:
攻击者通常需要:
tc) 的能力CAP_NET_ADMIN(直接拥有,或通过非特权用户命名空间获得,具体取决于系统配置)官方公告中未描述远程攻击向量。:contentReference[oaicite:3]{index=3}
流量控制 (tc)
│
act_pedit
│
tcf_pedit_act()
│
skb_ensure_writable()
│
部分 COW
│
页面缓存损坏
上游内核补丁:
skb_ensure_writable() 移至每个键处理循环内部。skb_cow()。INT_MIN)。:contentReference[oaicite:4]{index=4}CAP_NET_ADMIN。tc 数据包编辑规则。| 字段 | 值 |
|---|---|
| CVE | CVE-2026-46331 |
| 组件 | Linux 内核 net/sched |
| 模块 | act_pedit |
| 漏洞类型 | 部分写时复制 |
| 影响 | 页面缓存损坏 |
| 可能结果 | 内核内存损坏 / 潜在 LPE |
| 攻击向量 | 本地 |
| 所需权限 | 通常需要 CAP_NET_ADMIN |
| 修复可用 | ✅ 是 |
内核漏洞演变迅速。
请始终使用最新的稳定安全补丁更新您的 Linux 内核。