vxlan: use pskb_network_may_pull() for transmit path header pulls
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 6.1.188, 6.6.153, 6.12.105, 6.18.44, 7.1.8
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
- Exploitation: none
- Automatable: yes
- Technical impact: total
Summary
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.
Timeline
- CVE published
- CISA SSVC assessment
Exploitation: none · Automatable: yes · Technical impact: total
- Record last updated
Affected versions
- Linux Linux
From e4f67addf158f98f8197e08974966b18480dc751 · fixed in 371425d4be7795e9158388af9eee0201e6047410; From e4f67addf158f98f8197e08974966b18480dc751 · fixed in bb01c51950c3ff3c76acdd54b85ab38ccc2a8bb4; From e4f67addf158f98f8197e08974966b18480dc751 · fixed in 6146901881f09ef063eb34ad389f63231f8486f5; From e4f67addf158f98f8197e08974966b18480dc751 · fixed in 94dee751aad627b3645d424b5d0c736d394573e9; From e4f67addf158f98f8197e08974966b18480dc751 · fixed in 7076a34b6e33315dc160b4612bfea1c597495585; From e4f67addf158f98f8197e08974966b18480dc751 · fixed in b9553558b48db54ac9273e6b98d7263ef5c1a329
- Linux Linux
3.8
- KernelLinux
From 3.8.0 · fixed in 6.1.188; From 6.2.0 · fixed in 6.6.153; From 6.7.0 · fixed in 6.12.105; From 6.13.0 · fixed in 6.18.44; From 6.19.0 · fixed in 7.1.8