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.
CVSS breakdown
CVSS 3.1
Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High
Affected products
- Linux / Linux07dd0a7aae7f72af7cec18909581c2bb570edddc – a3ee9231ccec6ec3be2de89c56f897055fd9eab1
- Linux / Linux07dd0a7aae7f72af7cec18909581c2bb570edddc – ec8e1e5842bc0dbd4c272761f4db3651eecd0339
- Linux / Linux07dd0a7aae7f72af7cec18909581c2bb570edddc – 3b8b0c3631b19faee53f0d15a49924129b063eec
- Linux / Linux07dd0a7aae7f72af7cec18909581c2bb570edddc – 994bd2b58d2bd08aa97ec0836cc813cfcb00d749
- Linux / Linux07dd0a7aae7f72af7cec18909581c2bb570edddc – 910617a4e67dbdd5fdb39d9dc6a51e491e1b2c3e
- Linux / Linux07dd0a7aae7f72af7cec18909581c2bb570edddc – 9545cc5ef18ca22d031f2f47c157192460652359
- Linux / Linux07dd0a7aae7f72af7cec18909581c2bb570edddc – f3c6aa078927e6fe8121c9c591ddee8716c5305a
- Linux / Linux5.9 – 5.9
- Linux / Linux0 – 5.9
- Linux / Linux5.15.210 – 5.15.*
- Linux / Linux6.1.176 – 6.1.*
- Linux / Linux6.6.143 – 6.6.*
- Linux / Linux6.12.94 – 6.12.*
- Linux / Linux6.18.36 – 6.18.*
- Linux / Linux7.0.13 – 7.0.*
- Linux / Linux7.1 – *
References
- MISChttps://git.kernel.org/stable/c/a3ee9231ccec6ec3be2de89c56f897055fd9eab1
- MISChttps://git.kernel.org/stable/c/ec8e1e5842bc0dbd4c272761f4db3651eecd0339
- MISChttps://git.kernel.org/stable/c/3b8b0c3631b19faee53f0d15a49924129b063eec
- MISChttps://git.kernel.org/stable/c/994bd2b58d2bd08aa97ec0836cc813cfcb00d749
- MISChttps://git.kernel.org/stable/c/910617a4e67dbdd5fdb39d9dc6a51e491e1b2c3e
- MISChttps://git.kernel.org/stable/c/9545cc5ef18ca22d031f2f47c157192460652359
- MISChttps://git.kernel.org/stable/c/f3c6aa078927e6fe8121c9c591ddee8716c5305a