Description
In the Linux kernel, the following vulnerability has been resolved:
net/sched: act_mirred: fix wrong device for mac_header_xmit check in tcf_blockcast_redir
In tcf_blockcast_redir(), when iterating block ports to redirect packets to multiple devices, the mac_header_xmit flag is queried from the wrong device. The loop sends to dev_prev but queries dev_is_mac_header_xmit(dev) — which is the NEXT device in the iteration, not the one being sent to.
This causes tcf_mirred_to_dev() to make incorrect decisions about whether to push or pull the MAC header. When the block contains mixed device types (e.g., an ethernet veth and a tunnel device), intermediate devices get the wrong mac_header_xmit flag, leading to skb header corruption. In the worst case, skb_push_rcsum with an incorrect mac_len can exhaust headroom and panic.
The last device in the loop is handled correctly (line 365-366 uses dev_is_mac_header_xmit(dev_prev)), confirming this is a copy-paste oversight for the intermediate devices.
Fix by using dev_prev instead of dev for the mac_header_xmit query, consistent with the device actually being sent to.
Metrics
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:HAffected software
| Vendor | Product | Versions |
|---|---|---|
| Linux | Linux | >= 42f39036cda808d3de243192a2cf5125f12f3047, < 8fda5174286119addd28473fb2ec5bdf521c05a8; >= 42f39036cda808d3de243192a2cf5125f12f3047, < 7db3e4e03032261b1b519341123fc30d995478ca; >= 42f39036cda808d3de243192a2cf5125f12f3047, < 4764953c4b47585eb72797b216b63a831dc0c7e6; >= 42f39036cda808d3de243192a2cf5125f12f3047, < 4510d140524ca7d6e772db962e013f26f09a63b1 |
| Linux | Linux | 6.8 |
References
- https://git.kernel.org/stable/c/4510d140524ca7d6e772db962e013f26f09a63b1Patch
- https://git.kernel.org/stable/c/4764953c4b47585eb72797b216b63a831dc0c7e6Patch
- https://git.kernel.org/stable/c/7db3e4e03032261b1b519341123fc30d995478caPatch
- https://git.kernel.org/stable/c/8fda5174286119addd28473fb2ec5bdf521c05a8Patch
Timeline
- Published
- Jun 24, 2026
- Last modified
- Nov 6, 2026
- NVD status
- Analyzed