Description
In the Linux kernel, the following vulnerability has been resolved: net: rswitch: Avoid use-after-free in rswitch_poll() The use-after-free is actually in rswitch_tx_free(), which is inlined in rswitch_poll(). Since `skb` and `gq->skbs[gq->dirty]` are in fact the same pointer, the skb is first freed using dev_kfree_skb_any(), then the value in skb->len is used to update the interface statistics. Let's move around the instructions to use skb->len before the skb is freed. This bug is trivial to reproduce using KFENCE. It will trigger a splat every few packets. A simple ARP request or ICMP echo request is enough.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
0aeec4bb6a9fc963932bf3c929bdf27d835d44e9 to < 4a41bb9f2b402469d425a1c13359d3b3ea4e6403affected271e015b91535dd87fd0f5df0cc3b906c2eddef9 to < 92cbbe7759193e3418f38d0d73f8fe125312c58baffected271e015b91535dd87fd0f5df0cc3b906c2eddef9 to < 9a0c28efeec6383ef22e97437616b920e7320b67affected
Linux Linux
Default version status: affected
6.8affected0 to < 6.8unaffected6.9.9 to ≤ 6.9.*unaffected6.10 to ≤ *unaffected