thunderbolt: Validate XDomain request packet size before type cast
- 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.176, 6.6.143, 6.12.94, 6.18.36, 7.0.13
- 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: no
- Technical impact: partial
Summary
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.
Timeline
- CVE published
- CISA SSVC assessment
Exploitation: none · Automatable: no · Technical impact: partial
- Record last updated
Affected versions
- Linux Linux
From cdae7c07e3e3509eaabc18c1640a55dc5b99c179 · fixed in a770e62923090d7572f1f5a8507ae551d354a057; From cdae7c07e3e3509eaabc18c1640a55dc5b99c179 · fixed in 0dd61ba03d05187726ecdf9c0e2175a81b9b24f6; From cdae7c07e3e3509eaabc18c1640a55dc5b99c179 · fixed in 79235c8add5da4bf27a12f5a5dbb579f300c059e; From cdae7c07e3e3509eaabc18c1640a55dc5b99c179 · fixed in 46da5c3ea011e884028a91cf913db093920a915b; From cdae7c07e3e3509eaabc18c1640a55dc5b99c179 · fixed in 07cd2787cdf8942d24a1a3ef81aa89b526fb6381; From cdae7c07e3e3509eaabc18c1640a55dc5b99c179 · fixed in a504b9f2797b739e0304d537e8aa4ce883ecce39
- Linux Linux
4.15
- KernelLinux
From 4.15.0 · fixed in 6.1.176; From 6.2.0 · fixed in 6.6.143; From 6.7.0 · fixed in 6.12.94; From 6.13.0 · fixed in 6.18.36; From 6.19.0 · fixed in 7.0.13