← Back to CVE List
CVE-2026-90253NVD
Vulnerability Summary
In the Linux kernel, the following vulnerability has been resolved:
Bluetooth: MGMT: free the mesh send cancel command when it is cancelled
mesh_send_cancel() queues the pending command with a NULL destroy
callback, so it is only freed if send_cancel() runs. A cancelled entry is
leaked, as _hci_cmd_sync_cancel_entry() does not release entry->data when
there is no destroy callback, and hci_cmd_sync_clear() cancels every
pending entry when the controller is unregistered. Nothing else reclaims
it either: mgmt_pending_new() does not put the command on
hdev->mgmt_pending.
The leak also pins the socket reference taken by mgmt_pending_new(), so
the mgmt socket is never released.
Free the command from a destroy callback.
Bluetooth: MGMT: free the mesh send cancel command when it is cancelled
mesh_send_cancel() queues the pending command with a NULL destroy
callback, so it is only freed if send_cancel() runs. A cancelled entry is
leaked, as _hci_cmd_sync_cancel_entry() does not release entry->data when
there is no destroy callback, and hci_cmd_sync_clear() cancels every
pending entry when the controller is unregistered. Nothing else reclaims
it either: mgmt_pending_new() does not put the command on
hdev->mgmt_pending.
The leak also pins the socket reference taken by mgmt_pending_new(), so
the mgmt socket is never released.
Free the command from a destroy callback.
Affected & Patched Versions
- Linux Linux >= b338d91703fae6f6afd67f3f75caa3b8f36ddef3 and < b609341ee56967d9a45845ff26f79336d2114b55
- Linux Linux >= b338d91703fae6f6afd67f3f75caa3b8f36ddef3 and < 416fabca9b7237b76aa9cafcf8c497b8ac00d88c
- Linux Linux >= b338d91703fae6f6afd67f3f75caa3b8f36ddef3 and < 88e30d036d777b00aed42bd35000de23ff40910c
- Linux Linux >= b338d91703fae6f6afd67f3f75caa3b8f36ddef3 and < 05438d338a875a9daa08ca3f6a35b4480cf13de4
- Linux Linux >= b338d91703fae6f6afd67f3f75caa3b8f36ddef3 and < fa46d428c014e7b72a18634679815670418e67dc
- Linux Linux >= b338d91703fae6f6afd67f3f75caa3b8f36ddef3 and < 3c742feda8fcabf741a17bcf668b63c8f606f9c5
- Linux Linux >= 6.1
- Linux Linux b609341ee56967d9a45845ff26f79336d2114b55
- Linux Linux 416fabca9b7237b76aa9cafcf8c497b8ac00d88c
- Linux Linux 88e30d036d777b00aed42bd35000de23ff40910c
- Linux Linux 05438d338a875a9daa08ca3f6a35b4480cf13de4
- Linux Linux fa46d428c014e7b72a18634679815670418e67dc
- Linux Linux 3c742feda8fcabf741a17bcf668b63c8f606f9c5
External References
- https://git.kernel.org/stable/c/b609341ee56967d9a45845ff26f79336d2114b55
- https://git.kernel.org/stable/c/416fabca9b7237b76aa9cafcf8c497b8ac00d88c
- https://git.kernel.org/stable/c/88e30d036d777b00aed42bd35000de23ff40910c
- https://git.kernel.org/stable/c/05438d338a875a9daa08ca3f6a35b4480cf13de4
- https://git.kernel.org/stable/c/fa46d428c014e7b72a18634679815670418e67dc
- https://git.kernel.org/stable/c/3c742feda8fcabf741a17bcf668b63c8f606f9c5