PT-2026-98572 · Linux · Linux
CVE-2026-97908
·
Published
2026-09-25
·
Updated
2026-09-25
None
No severity ratings or metrics are available. When they are, we'll update the corresponding info on the page.
In the Linux kernel, the following vulnerability has been resolved:
Bluetooth: btqcomsmd: destroy RPMsg endpoints before freeing hci dev
The command and ACL RPMsg endpoints store struct btqcomsmd as their
callback private data. The receive callbacks dereference btq->hdev
without taking an hci dev reference.
The current teardown order frees the hci dev before destroying the RPMsg
endpoints in both the hci register dev() error path and the driver remove
path. If WCNSS delivers data in that window, the endpoint callback can
run with an already freed hci dev and pass it to the Bluetooth core.
For qcom smd endpoints, rpmsg destroy ept() closes the channel and clears
the callback under the channel recv lock. The receive path holds the same
lock while invoking the callback, so destroying the endpoints first both
prevents new callbacks and serializes with any callback already running.
Destroy the command and ACL endpoints before hci free dev(). Keep
hci unregister dev() first during remove so the HCI core stops issuing
operations before the transport endpoints are shut down. In the full
registration-error cleanup path, return directly after freeing the hci dev
to avoid falling through to the partial-construction labels and destroying
the endpoints twice.
Found an issue in the description? Have something to add? Feel free to write us 👾
Related Identifiers
Affected Products
Linux