Description
In the Linux kernel, the following vulnerability has been resolved: thunderbolt: Validate XDomain request packet size before type cast tb_xdp_handle_request() casts the received packet buffer to protocol-specific structs without verifying that the allocation is large enough for the target type. A peer can send a minimal XDomain packet that passes the generic header length check but is shorter than the struct accessed after the cast, causing out-of- bounds reads from the kmemdup allocation. Plumb the packet length through xdomain_request_work and validate it against the expected struct size before each cast.
CVSS breakdown
CVSS 3.1
Attack Vector
Adjacent
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
None
Availability
High
Affected products
- Linux / Linuxcdae7c07e3e3509eaabc18c1640a55dc5b99c179 – a770e62923090d7572f1f5a8507ae551d354a057
- Linux / Linuxcdae7c07e3e3509eaabc18c1640a55dc5b99c179 – 0dd61ba03d05187726ecdf9c0e2175a81b9b24f6
- Linux / Linuxcdae7c07e3e3509eaabc18c1640a55dc5b99c179 – 79235c8add5da4bf27a12f5a5dbb579f300c059e
- Linux / Linuxcdae7c07e3e3509eaabc18c1640a55dc5b99c179 – 46da5c3ea011e884028a91cf913db093920a915b
- Linux / Linuxcdae7c07e3e3509eaabc18c1640a55dc5b99c179 – 07cd2787cdf8942d24a1a3ef81aa89b526fb6381
- Linux / Linuxcdae7c07e3e3509eaabc18c1640a55dc5b99c179 – a504b9f2797b739e0304d537e8aa4ce883ecce39
- Linux / Linux4.15 – 4.15
- Linux / Linux0 – 4.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/a770e62923090d7572f1f5a8507ae551d354a057
- MISChttps://git.kernel.org/stable/c/0dd61ba03d05187726ecdf9c0e2175a81b9b24f6
- MISChttps://git.kernel.org/stable/c/79235c8add5da4bf27a12f5a5dbb579f300c059e
- MISChttps://git.kernel.org/stable/c/46da5c3ea011e884028a91cf913db093920a915b
- MISChttps://git.kernel.org/stable/c/07cd2787cdf8942d24a1a3ef81aa89b526fb6381
- MISChttps://git.kernel.org/stable/c/a504b9f2797b739e0304d537e8aa4ce883ecce39