Description
In the Linux kernel, the following vulnerability has been resolved: vxlan: use pskb_network_may_pull() for transmit path header pulls In vxlan_xmit(), arp_reduce(), and vxlan_mdb_entry_skb_get(), pskb_may_pull() was being called to verify the availability of network layer headers (ARP, IPv6/ND, IP/IPv6 MDB keys). However, during transmit skb->data points to the MAC header, so skb_network_offset(skb) is ETH_HLEN (14 bytes). Using pskb_may_pull(skb, len) only checks len bytes from skb->data rather than skb_network_offset(skb) + len, which can leave part of the network header in non-linear frags. Replace these remaining pskb_may_pull() calls with pskb_network_may_pull() to properly account for the MAC header offset.
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
e4f67addf158f98f8197e08974966b18480dc751 to < 371425d4be7795e9158388af9eee0201e6047410affectede4f67addf158f98f8197e08974966b18480dc751 to < bb01c51950c3ff3c76acdd54b85ab38ccc2a8bb4affectede4f67addf158f98f8197e08974966b18480dc751 to < 6146901881f09ef063eb34ad389f63231f8486f5affectede4f67addf158f98f8197e08974966b18480dc751 to < 94dee751aad627b3645d424b5d0c736d394573e9affectede4f67addf158f98f8197e08974966b18480dc751 to < 7076a34b6e33315dc160b4612bfea1c597495585affectede4f67addf158f98f8197e08974966b18480dc751 to < b9553558b48db54ac9273e6b98d7263ef5c1a329affected
Linux Linux
Default version status: affected
3.8affected0 to < 3.8unaffected6.1.188 to ≤ 6.1.*unaffected6.6.153 to ≤ 6.6.*unaffected6.12.105 to ≤ 6.12.*unaffected6.18.44 to ≤ 6.18.*unaffected7.1.8 to ≤ 7.1.*unaffected7.2 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/371425d4be7795e9158388af9eee0201e6047410 ↗
- https://git.kernel.org/stable/c/bb01c51950c3ff3c76acdd54b85ab38ccc2a8bb4 ↗
- https://git.kernel.org/stable/c/6146901881f09ef063eb34ad389f63231f8486f5 ↗
- https://git.kernel.org/stable/c/94dee751aad627b3645d424b5d0c736d394573e9 ↗
- https://git.kernel.org/stable/c/7076a34b6e33315dc160b4612bfea1c597495585 ↗
- https://git.kernel.org/stable/c/b9553558b48db54ac9273e6b98d7263ef5c1a329 ↗