Skip to main content
← All vulnerabilities
CVE-2026-46331

net/sched: fix pedit partial COW leading to page cache corruption

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 5.10.260, 5.15.211, 4.20, 5.5, 5.18, and 5 more
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: poc
  • Automatable: no
  • Technical impact: total

Summary

In the Linux kernel, the following vulnerability has been resolved: net/sched: fix pedit partial COW leading to page cache corruption tcf_pedit_act() computes the COW range for skb_ensure_writable() once before the key loop using tcfp_off_max_hint, but the hint does not account for the runtime header offset added by typed keys. This can leave part of the write region un-COW'd. Fix by moving skb_ensure_writable() inside the per-key loop where the actual write offset is known, and add overflow checking on the offset arithmetic. For negative offsets (e.g. Ethernet header edits at ingress), use skb_cow() to COW the headroom instead. Guard offset_valid() against INT_MIN, where negation is undefined.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: poc · Automatable: no · Technical impact: total

  3. Record last updated

Affected versions

  • Linux Linux

    From abe35bf3be51482593076d516a680d79e5fbc8e1 · fixed in 544d857b42a1734b923040e13aa61a6fd4746cf2; From b773640d5bb9e2acfd91e2695717af04d47aa116 · fixed in d5d01d35a5a7d36f7cb679b67d9cbdd5205672dc; From 8b796475fd7882663a870456466a4fb315cc1bd6 · fixed in a071e057518decc5e3bec89855758f5f8786f2c5; From 8b796475fd7882663a870456466a4fb315cc1bd6 · fixed in b685d6ef6f07a3b5ce814565a25f39f2157538a5; From 8b796475fd7882663a870456466a4fb315cc1bd6 · fixed in 2bec122b9fb91507a758ab5e3e5c4fbe7cb3f61b; From 8b796475fd7882663a870456466a4fb315cc1bd6 · fixed in b198ed4e52580a7238c7c7082f03906f8b310313; From 8b796475fd7882663a870456466a4fb315cc1bd6 · fixed in 3dee9d0c198faeb95d052c1b94c2958751a28512; From 8b796475fd7882663a870456466a4fb315cc1bd6 · fixed in 899ee91156e57784090c5565e4f31bd7dbffbc5a; From 5.10.117 · fixed in 5.10.260; From 5.15.41 · fixed in 5.15.211; From 4.19.244 · fixed in 4.20; From 5.4.195 · fixed in 5.5; From 5.17.9 · fixed in 5.18

  • Linux Linux

    5.18

  • KernelLinux

    fixed in 5.10.260; From 5.11.0 · fixed in 5.15.211; From 5.16.0 · fixed in 6.1.177; From 5.18.0 · fixed in 6.6.144; From 6.2.0 · fixed in 6.12.94; From 6.7.0 · fixed in 6.18.36; From 6.13.0 · fixed in 7.0.13

References 8

git.kernel.org