CVE-2026-98392: Bluetooth: btintel_pcie: fix tx_handle bounds off-by-one
In the Linux kernel, the following vulnerability has been resolved:
Bluetooth: btintelpcie: fix txhandle bounds off-by-one
Valid indices into txq->urbd0s/tfds/bufs are 0..txq->count-1, so tfdindex == txq->count is already out of range. Change the guard in btintelpciemsixtxhandle() from '> txq->count' to '>= txq->count'.
This issue was reported by Claude Mythos.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
ubuntu/linux-hwe-7.0to a version that resolves this vulnerability.Fixed in 7.0.0-42.42~24.04.1 - Upgrade
Upgrade
ubuntu/linux-riscv-7.0to a version that resolves this vulnerability.Fixed in 7.0.0-42.42.1~24.04.1 - Upgrade
Upgrade
ubuntu/linuxto a version that resolves this vulnerability.Fixed in 7.0.0-42.42 - Upgrade
Upgrade
ubuntu/linux-awsto a version that resolves this vulnerability.Fixed in 7.0.0-1016.17 - Upgrade
Upgrade
ubuntu/linux-gcpto a version that resolves this vulnerability.Fixed in 7.0.0-1016.18 - Upgrade
Upgrade
ubuntu/linux-ibmto a version that resolves this vulnerability.Fixed in 7.0.0-1017.17 - Upgrade
Upgrade
ubuntu/linux-oem-7.0to a version that resolves this vulnerability.Fixed in 7.0.0-1017.17 - Upgrade
Upgrade
ubuntu/linux-oracleto a version that resolves this vulnerability.Fixed in 7.0.0-1015.16 - Upgrade
Upgrade
ubuntu/linux-riscvto a version that resolves this vulnerability.Fixed in 7.0.0-42.42.1 - Compensating control
In btintel_pcie_msix_tx_handle(), change the tfd_index bounds guard from '> txq->count' to '>= txq->count' so txq->count is rejected as out of range.
Event History
Frequently Asked Questions
What boundary condition was incorrectly accepted?
The transmit handler accepted tfd_index equal to txq->count. Valid indices end at txq->count - 1, so that value is out of range.
Which kernel component should be reviewed for this fix?
The affected code is the Bluetooth btintel_pcie transmit MSI-X handler, btintel_pcie_msix_tx_handle(). The corrected guard rejects indices greater than or equal to txq->count.