CVE-2026-63891

Summary

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 Software

VendorProductVersion RangeStatus
LinuxLinuxcdae7c07e3e3509eaabc18c1640a55dc5b99c179 < 2b5f47a710172c962ef42d1b732b04d2ad0dce21affected
LinuxLinuxcdae7c07e3e3509eaabc18c1640a55dc5b99c179 < 95839a67ea56ca35732aad7f711404a3127cfe2daffected
LinuxLinuxcdae7c07e3e3509eaabc18c1640a55dc5b99c179 < 0a84ab9271936c11e84e511bb52fc5682f8b6726affected
LinuxLinuxcdae7c07e3e3509eaabc18c1640a55dc5b99c179 < b4621e5ef63405c317a84b711faf3bd75b3c6a94affected
LinuxLinuxcdae7c07e3e3509eaabc18c1640a55dc5b99c179 < f31c6d220f455b5af63590302b30e1b932d14599affected
LinuxLinuxcdae7c07e3e3509eaabc18c1640a55dc5b99c179 < 830c8a9b467e7d3a158483d37fa7dc13892b293aaffected
LinuxLinuxcdae7c07e3e3509eaabc18c1640a55dc5b99c179 < ed9455ef4bd9babc90f92e526abe3fb68c1a8709affected
LinuxLinuxcdae7c07e3e3509eaabc18c1640a55dc5b99c179 < 928abe19fbf0127003abcb1ea69cabc1c897d0abaffected
LinuxLinux4.15affected
LinuxLinux0 < 4.15unaffected
LinuxLinux5.10.259 <= 5.10.*unaffected
LinuxLinux5.15.210 <= 5.15.*unaffected
LinuxLinux6.1.176 <= 6.1.*unaffected
LinuxLinux6.6.143 <= 6.6.*unaffected
LinuxLinux6.12.93 <= 6.12.*unaffected
LinuxLinux6.18.35 <= 6.18.*unaffected
LinuxLinux7.0.12 <= 7.0.*unaffected
LinuxLinux7.1 <= *unaffected

Weaknesses

References