Linux: net: team: stop reusing skb after queue override
What fixes it
- 07a48cfceb3d0555710a9acb87c949500a7b4523LinuxCVE List
- 0c0568c9d35c47dc8e3ef6705d4c35a02bd88c4eLinuxCVE List
A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.
Description
In the Linux kernel, the following vulnerability has been resolved:
net: team: stop reusing skb after queue override
A nonzero dev_queue_xmit() result does not return ownership of the skb. When an override port's qdisc drops it, the queue override helper used to try another port or the mode transmit op with the freed skb.
Return the handoff decision separately from transmit success. Select only the first override port under RCU and stop after handing it the skb, regardless of the lower transmit result. Keep the existing success and drop accounting.
BUG: KASAN: slab-use-after-free in sk_skb_reason_drop Write of size 4 by task poc/5040 sk_skb_reason_drop (net/core/skbuff.c:1240) dev_kfree_skb_any_reason (net/core/dev.c:3470) ab_transmit (drivers/net/team/team_mode_activebackup.c:49) team_xmit (drivers/net/team/team_core.c:1849) __dev_direct_xmit (net/core/dev.c:4934) Freed by task 5040: __tcf_kfree_skb_list (net/sched/sch_generic.c:43) __dev_queue_xmit (net/core/dev.c:4831) team_xmit (drivers/net/team/team_core.c:1846) Kernel panic - not syncing: KASAN: panic_on_warn set ...
Text from CVE List
Affected versions 12
- Linuxaffected: 8ff5105a2b9dd0ba596719b165c1827d101e5f1a before b21f20320fa2f3c683e3334d70de6bfd172e544aCVE List
- Linuxaffected: 8ff5105a2b9dd0ba596719b165c1827d101e5f1a before 07a48cfceb3d0555710a9acb87c949500a7b4523CVE List
- Linuxaffected: 8ff5105a2b9dd0ba596719b165c1827d101e5f1a before 0c0568c9d35c47dc8e3ef6705d4c35a02bd88c4eCVE List
- Linuxaffected: 8ff5105a2b9dd0ba596719b165c1827d101e5f1a before bed63353341d2d44cbad034001dd382cfe3a3892CVE List
- Linuxaffected: 8ff5105a2b9dd0ba596719b165c1827d101e5f1a before b7454f1940c5e6d92e753853c476a769e452f30aCVE List
- Linuxaffected: 3.7CVE List
- Linuxunaffected: all versions before 3.7CVE List
- Linuxunaffected: 6.6.160 through 6.6.*CVE List
- Linuxunaffected: 6.12.114 through 6.12.*CVE List
- Linuxunaffected: 6.18.57 through 6.18.*CVE List
- Linuxunaffected: 7.2.11 through 7.2.*CVE List
- Linuxunaffected: 7.3CVE List
References 5
- git.kernel.org/stable/c/b21f20320fa2f3c683e3334d70de6bfd172e544aReferencevia CVE List
- git.kernel.org/stable/c/07a48cfceb3d0555710a9acb87c949500a7b4523Referencevia CVE List
- git.kernel.org/stable/c/0c0568c9d35c47dc8e3ef6705d4c35a02bd88c4eReferencevia CVE List
- git.kernel.org/stable/c/bed63353341d2d44cbad034001dd382cfe3a3892Referencevia CVE List
- git.kernel.org/stable/c/b7454f1940c5e6d92e753853c476a769e452f30aReferencevia CVE List