In the Linux kernel, the following vulnerability has been resolved:
vxlan: re-fetch eth header after route_shortcircuit()
Before routeshortcircuit(), the eth header pointer is cached from ethhdr(skb).
Inside routeshortcircuit(), pskbmay_pull() can be called, which may reallocate skb->head.
In this case, returning to vxlanxmit() leaves the cached eth pointer pointing to freed memory, leading to a use-after-free when dereferencing eth->hdest.
Fix this by updating eth = ethhdr(skb) after calling routeshortcircuit().