Description
In the Linux kernel, the following vulnerability has been resolved: net: sched: act_csum: validate nested VLAN headers tcf_csum_act() walks nested VLAN headers directly from skb->data when an skb still carries in-payload VLAN tags. The current code reads vlan->h_vlan_encapsulated_proto and then pulls VLAN_HLEN bytes without first ensuring that the full VLAN header is present in the linear area. If only part of an inner VLAN header is linearized, accessing h_vlan_encapsulated_proto reads past the linear area, and the following skb_pull(VLAN_HLEN) may violate skb invariants. Fix this by requiring pskb_may_pull(skb, VLAN_HLEN) before accessing and pulling each nested VLAN header. If the header still is not fully available, drop the packet through the existing error path.
Product status
2ecba2d1e45b24620a7c3df9531895cf68d5dec6 (git) before eb3765b90eb8f2a3d6310a80c14a9e57ec4267a2
2ecba2d1e45b24620a7c3df9531895cf68d5dec6 (git) before a69738efea0996d05a3c7d2178551b891744df1b
2ecba2d1e45b24620a7c3df9531895cf68d5dec6 (git) before ec4930979b3f7bbeb7af5744599fc6603a4dba62
2ecba2d1e45b24620a7c3df9531895cf68d5dec6 (git) before 3d165d975305cf76ff0b10a3c798fb31e5f5f9a5
2ecba2d1e45b24620a7c3df9531895cf68d5dec6 (git) before c842743d073bdd683606cb414eb0ca84465dd834
3764bfae5056e95617b6ee074129297e11710886 (git)
5.1
Any version before 5.1
6.6.136 (semver)
6.12.83 (semver)
6.18.24 (semver)
6.19.14 (semver)
7.0 (original_commit_for_fix)
References
git.kernel.org/...c/eb3765b90eb8f2a3d6310a80c14a9e57ec4267a2
git.kernel.org/...c/a69738efea0996d05a3c7d2178551b891744df1b
git.kernel.org/...c/ec4930979b3f7bbeb7af5744599fc6603a4dba62
git.kernel.org/...c/3d165d975305cf76ff0b10a3c798fb31e5f5f9a5
git.kernel.org/...c/c842743d073bdd683606cb414eb0ca84465dd834