{"id":"CVE-2026-98687","summary":"thunderbolt: Reject oversized XDomain properties responses","details":"In the Linux kernel, the following vulnerability has been resolved:\n\nthunderbolt: Reject oversized XDomain properties responses\n\ntb_xdp_properties_request() allocates room for 45 data dwords in its\n252-byte response buffer.  The XDomain length field is six bits wide,\nhowever, and a malicious peer can set it to 63.  After the fixed response\nfields are subtracted, the driver treats this as 48 data dwords.\n\nCommit 322e93448d90 (\"thunderbolt: Clamp XDomain response data copy to\nallocation size\") only bounds the copy against data_len.  If data_len is\nat least 48, memcpy() reads 192 bytes from the 180-byte res-\u003edata array,\ncausing a 12-byte heap out-of-bounds read.  Commit 4db2bd2ed478\n(\"thunderbolt: Limit XDomain response copy to actual frame size\") limits\nthe earlier copy but does not constrain this header-derived length.\n\nReject response data lengths that exceed the allocated source buffer\nbefore copying them into the assembled property block.","modified":"2026-10-20T02:30:51.021701507Z","published":"2026-10-18T15:45:58.719Z","database_specific":{"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/98xxx/CVE-2026-98687.json","cna_assigner":"Linux"},"references":[{"type":"PACKAGE","url":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"},{"type":"WEB","url":"https://git.kernel.org/stable/c/2f97f929dad9eb3e1f63b721d2dd49bf9bc68efa"},{"type":"WEB","url":"https://git.kernel.org/stable/c/737a1d2e9642d5f718bd29aa4a98b9eef3832f0a"},{"type":"WEB","url":"https://git.kernel.org/stable/c/80756e263846ab694984e749e8c626897331438f"},{"type":"WEB","url":"https://git.kernel.org/stable/c/a766a86ff48acee76aeb8e2575771040749e509d"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/98xxx/CVE-2026-98687.json"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-98687"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","events":[{"introduced":"d1ff70241a275133e1a0258b7c23588b122276c8"},{"fixed":"a766a86ff48acee76aeb8e2575771040749e509d"},{"fixed":"2f97f929dad9eb3e1f63b721d2dd49bf9bc68efa"},{"fixed":"737a1d2e9642d5f718bd29aa4a98b9eef3832f0a"},{"fixed":"80756e263846ab694984e749e8c626897331438f"}]}],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-98687.json"}},{"package":{"name":"Kernel","ecosystem":"Linux"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"4.15.0"},{"fixed":"6.12.113"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.13.0"},{"fixed":"6.18.56"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.19.0"},{"fixed":"7.2.10"}]}],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-98687.json"}}],"schema_version":"1.9.0"}