Description
In the Linux kernel, the following vulnerability has been resolved: net: mvpp2: limit XDP frame size to the RX buffer mvpp2 has short and long BM pools, and short pool buffers can be smaller than PAGE_SIZE. The XDP path nevertheless initializes every xdp_buff with PAGE_SIZE as frame size. XDP helpers use frame_sz to validate tail growth and to derive the hard end of the data area. Advertising PAGE_SIZE for short buffers can let bpf_xdp_adjust_tail() grow a packet past the real allocation, corrupting memory or later tripping skb tailroom checks. Initialize the XDP buffer with bm_pool->frag_size so XDP tailroom matches the actual buffer backing the packet.
Product status
07dd0a7aae7f72af7cec18909581c2bb570edddc (git) before a3ee9231ccec6ec3be2de89c56f897055fd9eab1
07dd0a7aae7f72af7cec18909581c2bb570edddc (git) before ec8e1e5842bc0dbd4c272761f4db3651eecd0339
07dd0a7aae7f72af7cec18909581c2bb570edddc (git) before 3b8b0c3631b19faee53f0d15a49924129b063eec
07dd0a7aae7f72af7cec18909581c2bb570edddc (git) before 994bd2b58d2bd08aa97ec0836cc813cfcb00d749
07dd0a7aae7f72af7cec18909581c2bb570edddc (git) before 910617a4e67dbdd5fdb39d9dc6a51e491e1b2c3e
07dd0a7aae7f72af7cec18909581c2bb570edddc (git) before 9545cc5ef18ca22d031f2f47c157192460652359
07dd0a7aae7f72af7cec18909581c2bb570edddc (git) before f3c6aa078927e6fe8121c9c591ddee8716c5305a
5.9
Any version before 5.9
5.15.210 (semver)
6.1.176 (semver)
6.6.143 (semver)
6.12.94 (semver)
6.18.36 (semver)
7.0.13 (semver)
7.1 (original_commit_for_fix)
References
git.kernel.org/...c/a3ee9231ccec6ec3be2de89c56f897055fd9eab1
git.kernel.org/...c/ec8e1e5842bc0dbd4c272761f4db3651eecd0339
git.kernel.org/...c/3b8b0c3631b19faee53f0d15a49924129b063eec
git.kernel.org/...c/994bd2b58d2bd08aa97ec0836cc813cfcb00d749
git.kernel.org/...c/910617a4e67dbdd5fdb39d9dc6a51e491e1b2c3e
git.kernel.org/...c/9545cc5ef18ca22d031f2f47c157192460652359
git.kernel.org/...c/f3c6aa078927e6fe8121c9c591ddee8716c5305a