KernelScan.io

HIGH Introduced in 4.15

thunderbolt XDomain UAF

CVE-2026-97509

CVSS 8.8 / 10.0 NVD

CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

KernelScan AI6.8MEDIUM

01

In the Linux kernel, the following vulnerability has been resolved: thunderbolt: Keep XDomain reference during the lifetime of a service This is needed because we release the service ID in tb_service_release() and the ID array is owned by the parent XDomain.

02

Engine v0.6.0

Risk summary

A use-after-free in the Thunderbolt driver's XDomain service handling can be triggered by connecting and disconnecting a Thunderbolt device. An attacker with physical access to a Thunderbolt or USB4 port could exploit this to corrupt kernel memory, potentially achieving code execution or causing a kernel panic. Systems without exposed Thunderbolt ports are not affected.

Affecteddrivers/thunderbolt/xdomain.c (thunderbolt)

Vulnerability analysis

When a Thunderbolt XDomain service is created, the code associates it with its parent XDomain device without holding a reference on that parent. Later, when the service is destroyed, its cleanup routine accesses the parent XDomain's internal ID allocation data to release the service's ID. If the XDomain has already been torn down—for instance when a Thunderbolt device is disconnected—the cleanup code operates on freed memory. The fix takes a reference on the XDomain device when the service is created and releases it only when the service is fully destroyed, guaranteeing the parent remains valid throughout the service's lifetime. This path is reached through physical access to a Thunderbolt or USB4 port; no software privileges are required, only the ability to connect and disconnect a Thunderbolt device.

03

BranchIntroducedFixed inPatch commit
5.104.155.10.266a4567e5380e4
5.154.155.15.217daeaa6c7211d
6.14.156.1.189cca72fe513f3
6.124.156.12.1118ab12d015884
6.184.156.18.53ea60ae6233ca
6.64.156.6.15857359bb31526
mainline4.157.28b4060998637
cip/4.194.154.19.325-cip13611615a3df6e0
cip/4.19-rt4.154.19.325-cip136-rt5011615a3df6e0
cip/5.104.155.10.268-cip77a4567e5380e4
cip/5.10-rt4.155.10.268-cip77-rt34a4567e5380e4
cip/6.14.156.1.189-cip61cca72fe513f3
cip/6.1-rt4.156.1.189-cip61-rt32cca72fe513f3
cip/6.124.156.12.111-cip328ab12d015884

04

State of the newest release of each Civil Infrastructure Platform SLTS tree, from CIP's own fix records.

CIP treeState
cip/6.12Fixed in 6.12.111-cip32
cip/6.1Fixed in 6.1.189-cip61
cip/6.1-rtFixed in 6.1.189-cip61-rt32
cip/5.10Fixed in 5.10.268-cip77
cip/5.10-rtFixed in 5.10.268-cip77-rt34
cip/4.19Fixed in 4.19.325-cip136
cip/4.19-rtFixed in 4.19.325-cip136-rt50