High · published February 28, 2024
In the Linux kernel, the following vulnerability has been resolved:
ethernet:enic: Fix a use after free bug in enic_hard_start_xmit
In enic_hard_start_xmit, it calls enic_queue_wq_skb(). Inside
enic_queue_wq_skb, if some error happens, the skb will be freed
by dev_kfree_skb(skb). But the freed skb is still used in
skb_tx_timestamp(skb).
My patch makes enic_queue_wq_skb() return error and goto spin_unlock()
incase of error. The solution is provided by Govind.
See https://lkml.org/lkml/2021/4/30/961.
| Product | Versions | Fixed in |
|---|---|---|
| linux/linux_kernel | ≥ 4.16, < 4.19.191 | 4.19.191 |
| linux/linux_kernel | ≥ 4.20, < 5.4.120 | 5.4.120 |
| linux/linux_kernel | ≥ 5.5, < 5.10.38 | 5.10.38 |
| linux/linux_kernel | ≥ 5.11, < 5.11.22 | 5.11.22 |
| linux/linux_kernel | ≥ 5.12, < 5.12.5 | 5.12.5 |