Description
In the Linux kernel, the following vulnerability has been resolved: thunderbolt: property: Cap recursion depth in __tb_property_parse_dir() A DIRECTORY entry's value field is used as the dir_offset for a recursive call into __tb_property_parse_dir() with no depth counter. A crafted peer that chains DIRECTORY entries into a back-reference loop drives the parser until the kernel stack is exhausted and the guard page fires. Any untrusted XDomain peer (cable, dock, in-line inspector, adjacent host) that reaches the PROPERTIES_REQUEST control-plane exchange can trigger this without authentication. Thread a depth counter through tb_property_parse() and __tb_property_parse_dir(), and reject blocks that exceed TB_PROPERTY_MAX_DEPTH = 8. That is comfortably larger than any observed legitimate XDomain layout. Operators who do not need XDomain host-to-host discovery can disable the path entirely with thunderbolt.xdomain=0 on the kernel command line.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
cdae7c07e3e3509eaabc18c1640a55dc5b99c179 to < 2b5f47a710172c962ef42d1b732b04d2ad0dce21affectedcdae7c07e3e3509eaabc18c1640a55dc5b99c179 to < 95839a67ea56ca35732aad7f711404a3127cfe2daffectedcdae7c07e3e3509eaabc18c1640a55dc5b99c179 to < 0a84ab9271936c11e84e511bb52fc5682f8b6726affectedcdae7c07e3e3509eaabc18c1640a55dc5b99c179 to < b4621e5ef63405c317a84b711faf3bd75b3c6a94affectedcdae7c07e3e3509eaabc18c1640a55dc5b99c179 to < f31c6d220f455b5af63590302b30e1b932d14599affectedcdae7c07e3e3509eaabc18c1640a55dc5b99c179 to < 830c8a9b467e7d3a158483d37fa7dc13892b293aaffectedcdae7c07e3e3509eaabc18c1640a55dc5b99c179 to < ed9455ef4bd9babc90f92e526abe3fb68c1a8709affectedcdae7c07e3e3509eaabc18c1640a55dc5b99c179 to < 928abe19fbf0127003abcb1ea69cabc1c897d0abaffected
Linux Linux
Default version status: affected
4.15affected0 to < 4.15unaffected5.10.259 to ≤ 5.10.*unaffected5.15.210 to ≤ 5.15.*unaffected6.1.176 to ≤ 6.1.*unaffected6.6.143 to ≤ 6.6.*unaffected6.12.93 to ≤ 6.12.*unaffected6.18.35 to ≤ 6.18.*unaffected7.0.12 to ≤ 7.0.*unaffected7.1 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/2b5f47a710172c962ef42d1b732b04d2ad0dce21 ↗
- https://git.kernel.org/stable/c/95839a67ea56ca35732aad7f711404a3127cfe2d ↗
- https://git.kernel.org/stable/c/0a84ab9271936c11e84e511bb52fc5682f8b6726 ↗
- https://git.kernel.org/stable/c/b4621e5ef63405c317a84b711faf3bd75b3c6a94 ↗
- https://git.kernel.org/stable/c/f31c6d220f455b5af63590302b30e1b932d14599 ↗
- https://git.kernel.org/stable/c/830c8a9b467e7d3a158483d37fa7dc13892b293a ↗
- https://git.kernel.org/stable/c/ed9455ef4bd9babc90f92e526abe3fb68c1a8709 ↗
- https://git.kernel.org/stable/c/928abe19fbf0127003abcb1ea69cabc1c897d0ab ↗