CVE-2026-64409 Bluetooth: btmtksdio: fix infinite loop in btmtksdio_txrx_work()

Medium 5.5 Published Updated

A logic error in the Linux kernel Bluetooth driver causes an infinite loop, leading to a system hang and denial of service.

Exploited in the wild
Not known
Login needed
Any signed-in user
Attackable
Local or same network only
Victim action needed
Not needed
Fix
Available

What is CVE-2026-64409?

CVE-2026-64409 is a medium-severity denial of service vulnerability in Linux kernel, published on 25 Jul 2026. It can only be exploited from the same machine or local network, with no action from the victim.

Official description

In the Linux kernel, the following vulnerability has been resolved:

Bluetooth: btmtksdio: fix infinite loop in btmtksdio_txrx_work()

Every once in a while we see a hung btmtksdio_flush() task:

INFO: task kworker/u17:0:189 blocked for more than 122 seconds. __cancel_work_timer+0x3f4/0x460 cancel_work_sync+0x1c/0x2c btmtksdio_flush+0x2c/0x40 hci_dev_open_sync+0x10c4/0x2190 [..]

It all boils down to incorrect time_is_before_jiffies() usage in btmtksdio_txrx_work(). The btmtksdio_txrx_work() loop is expected to be terminated if running for longer than 5*HZ. However the timeout check is twisted: time_is_before_jiffies(old_jiffies + 5*HZ) evaluates to true when old_jiffies + 5*HZ is in the past i.e. when a timeout has occurred. Using OR with time_is_before_jiffies(txrx_timeout) means that: - before the 5-second timeout: the condition is `int_status || false`, so it loops as long as there are pending interrupts. - after the 5-second timeout: the condition becomes `int_status || true`, which is always true.

When the loop becomes infinite btmtksdio_txrx_work() loop never terminates and never releases the SDIO host.

Fix loop termination condition to actually enforce a 5*HZ timeout.

Weakness: CWE-835

Which versions are affected by CVE-2026-64409?

It affects 1 product.

Products include Linux kernel.

How do I fix CVE-2026-64409?

Apply the vendor's patch.

Upgrade, then put limits on request size, rate and nesting depth so one client cannot exhaust the service. More about Denial of service.

Is CVE-2026-64409 being exploited?

There is no known exploitation of CVE-2026-64409 in the wild and no public exploit code.

All Linux kernel vulnerabilities

Sources

Also known as AZL-93518, BELL-CVE-2026-64409, DEBIAN-CVE-2026-64409, GHSA-x8qw-hc9f-qxq2, ROOT-OS-UBUNTU-2204-CVE-2026-64409, UBUNTU-CVE-2026-64409.

Is CVE-2026-64409 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free