CVE-2026-80977
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Summary
In the Linux kernel, the following vulnerability has been resolved:
net: skbuff: don't touch shared zerocopy state in skb_tx_error()
skb_tx_error() completes the zerocopy uarg and clears SKBFL_ALL_ZEROCOPY, and skb_zcopy_downgrade_managed() clears SKBFL_MANAGED_FRAG_REFS. Both live in skb_shinfo(), which every clone shares, while the caller only owns the reference it is about to drop. Through a clone it tells the producer its pages are free and drops SKBFL_SHARED_FRAG for an skb that is still in flight.
Open vSwitch reaches this with a non-last OVS_ACTION_ATTR_RECIRC: clone_execute() sends a skb_clone() into ovs_dp_process_packet() while do_execute_actions() keeps forwarding the original, and skb_clone() does not privatise the frags here – skb_orphan_frags() returns early on SKBFL_DONT_ORPHAN. A flow miss on the clone then strips the marker from the packet still being forwarded, and a later local ESP delivery decrypts in place over frags it does not own privately.
Skip it for a cloned skb. Nothing is lost: skb_release_data() clears the zerocopy state once the last reference to the shared data goes.
Affected Software
| Vendor | Product | Version Range | Status |
|---|---|---|---|
| Linux | Linux | 25121173f7b1e4ac3fc692df6e7b8c52ec36abba < 15aa81b390d401abf4b8211042470e9e92e3b7fb | affected |
| Linux | Linux | 25121173f7b1e4ac3fc692df6e7b8c52ec36abba < 288f9970670841044ab030104fa6b6ed159949d0 | affected |
| Linux | Linux | 25121173f7b1e4ac3fc692df6e7b8c52ec36abba < 0370da114a9bc044e248b85c6809d1b5e0c1f7f9 | affected |
| Linux | Linux | 25121173f7b1e4ac3fc692df6e7b8c52ec36abba < f66bdb1cc0fcd227a062378f8be0b5873aa5600a | affected |
| Linux | Linux | 3.8 | affected |
| Linux | Linux | 0 < 3.8 | unaffected |
| Linux | Linux | 6.12.109 <= 6.12.* | unaffected |
| Linux | Linux | 6.18.50 <= 6.18.* | unaffected |
| Linux | Linux | 7.2.4 <= 7.2.* | unaffected |
| Linux | Linux | 7.3-rc1 <= * | unaffected |
Weaknesses
References
- https://git.kernel.org/stable/c/15aa81b390d401abf4b8211042470e9e92e3b7fb
- https://git.kernel.org/stable/c/288f9970670841044ab030104fa6b6ed159949d0
- https://git.kernel.org/stable/c/0370da114a9bc044e248b85c6809d1b5e0c1f7f9
- https://git.kernel.org/stable/c/f66bdb1cc0fcd227a062378f8be0b5873aa5600a
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.