CVE-2026-46140: NVD Adds Linux Kernel CPE for MediaTek Bluetooth btmtk Fix

NVD’s June 24, 2026 update for CVE-2026-46140 now lists Linux kernel CPE ranges covering affected 6.6.142-through-6.7, 6.11-through-6.12.87, 6.13-through-6.18.29, 6.19-through-7.0.6, and 7.1 release candidates. That means the obvious “missing CPE” concern has mostly been answered, though the answer is messy in the way Linux kernel vulnerability metadata often is. The more interesting story is not that NVD eventually attached product strings to a kernel bug, but that a tiny Bluetooth bounds check now has to travel through a sprawling ecosystem of upstream stable trees, distro kernels, hardware enablement stacks, and vulnerability scanners that all speak slightly different dialects of “affected.”
CVE-2026-46140 is a local Linux kernel Bluetooth flaw in the MediaTek btmtk driver, fixed by validating the length of a Wireless Module Technology event socket buffer before the driver treats it as a fixed-size structure. NVD currently scores it 7.1 High under CVSS 3.1, with confidentiality and availability impact but no integrity impact. In plain English: a short or malformed firmware response can make the kernel read beyond the end of the Bluetooth event buffer. That is not a remote internet worm, but it is exactly the kind of low-level driver bug that turns into a practical headache once scanners, vendors, and administrators try to decide which systems are actually exposed.

Infographic showing an NVD entry for a Linux Bluetooth btmtk out-of-bounds read vulnerability and its fix.The CPE Arrived, but It Did Not Make the Vulnerability Simple​

The user-facing question — “Are we missing a CPE here?” — is reasonable because the first public phase of many kernel CVEs looks incomplete. A CVE record may contain a precise code description and stable-tree commits before NVD has enriched it with Common Platform Enumeration entries. During that gap, security tools may know that a vulnerability exists but lack the structured product/version mapping needed to match it cleanly against inventories.
For CVE-2026-46140, NVD’s change history now shows added CPE configurations for the Linux kernel. The ranges are broad and version-based: Linux 6.11 through before 6.12.88, 6.13 through before 6.18.30, 6.19 through before 7.0.7, 6.6.142 through before 6.7, plus Linux 7.1 release candidates rc1 and rc2. That is NVD saying, in effect, that a CPE is no longer missing for the mainline Linux kernel product.
But this is still not as clean as a Windows cumulative update KB or a Chrome point release. Linux kernel CVEs are often fixed in multiple stable branches, backported to vendor kernels, or neutralized by distribution patch sets that keep an older version number while carrying newer fixes. CPEs can describe upstream version ranges, but they do not always describe the kernel a server is really running.
That distinction matters to WindowsForum readers because many Windows shops now run Linux in places where vulnerability management systems cannot ignore it: WSL development machines, Hyper-V guests, Azure and on-prem Linux servers, Kubernetes nodes, security appliances, NAS devices, build boxes, and odd bits of lab hardware. A scanner finding “Linux kernel vulnerable” is only the beginning of the investigation, not the end.

A Seven-Byte Assumption Became a Kernel CVE​

The bug itself is almost comically small. The btmtk_usb_hci_wmt_sync() path receives a firmware response wrapped in a socket buffer, then casts the data into driver-specific WMT event structures. The base structure is 7 bytes; a function-control variant is 9 bytes. The vulnerable code assumed the buffer was long enough before accessing fields inside those structures.
That assumption is the vulnerability. If the firmware response is shorter than expected, the driver can read beyond the actual data in the SKB and into tailroom. In kernel terms, this is a CWE-125 out-of-bounds read — a memory safety failure caused not by writing over adjacent memory, but by trusting that a buffer contains more bytes than it really does.
The fix is equally direct: use skb_pull_data() to verify that the required bytes are available and advance past the base WMT event header. For the FUNC_CTRL case, the driver pulls the additional status bytes before reading them. The patch does not redesign Bluetooth, MediaTek firmware loading, or the host-controller interface; it adds the guardrail that should have been there before the struct access.
That is why this CVE is a good example of modern kernel security in miniature. The scary phrase is “out-of-bounds read,” but the operational reality is a narrowly scoped driver parsing bug. It lives in a device-specific Bluetooth path, depends on MediaTek Bluetooth hardware and driver behavior, and is patched by a small validation change. It is important, but it is not a reason to unplug every Linux box in the building.

Bluetooth Makes Local Bugs Feel Less Local​

NVD’s CVSS vector classifies CVE-2026-46140 as local attack vector, low attack complexity, low privileges required, no user interaction, unchanged scope, high confidentiality impact, no integrity impact, and high availability impact. The “local” part is doing a lot of work. It means the vulnerability is not modeled as something an unauthenticated attacker can exploit directly over the network.
Still, Bluetooth driver bugs always sit in an awkward threat category. Bluetooth is local radio, firmware is semi-autonomous, and the kernel’s host-controller paths process data from hardware that may itself be buggy, maliciously modified, or coerced into weird states. The CVE description specifically talks about a short firmware response, not a crafted packet from a nearby phone. That keeps the threat model narrower than many Bluetooth panic headlines suggest.
For enterprise defenders, the practical question is not “Can someone on the internet exploit this?” The practical question is “Do we have Linux systems with MediaTek Bluetooth enabled, and do those systems sit in places where local compromise, malicious peripherals, or physical access are plausible?” Developer laptops, lab systems, kiosks, and consumer-grade mini PCs are more relevant than headless rack servers with no Bluetooth controller.
There is also a denial-of-service angle. A kernel driver reading beyond a buffer can crash, leak data, or behave unpredictably depending on memory layout and hardening. The CVSS availability impact reflects that possibility, but the CVE text itself does not establish a turnkey exploit chain. Treat it as a kernel memory-safety fix with real security weight, not as proof of an active campaign.

The Version Ranges Tell a Backport Story, Not a Single Timeline​

The affected version data is easy to misread. NVD’s CPE ranges include multiple major kernel lines and exclusions for fixed stable releases. Kernel.org’s affected metadata, meanwhile, references git commit ranges and semver-style branch markers. That is not contradiction so much as two ways of describing the same moving target.
The important fixed boundaries are the versions that include the validation patch. According to the NVD enrichment data provided, affected ranges stop before 6.12.88, before 6.18.30, and before 7.0.7. The record also notes the 7.1 release candidates and separate 6.6.142-through-before-6.7 exposure, reflecting the way stable branch maintenance and backports can produce non-linear version stories.
This is where scanner output can become noisy. A tool that relies on upstream version comparison may flag a kernel as vulnerable even if a distribution has backported the fix without changing the version string in the way the scanner expects. Conversely, a tool that only looks at a distribution advisory may miss a custom kernel or vendor appliance running an upstream-adjacent build.
The right response is to tie the scanner result to the running kernel package and the vendor’s advisory stream. On Ubuntu, for example, the public tracker distinguishes releases that are vulnerable, not affected, or still being worked on. Debian, Red Hat derivatives, Arch, Alpine, and appliance vendors may map the same upstream CVE differently because their kernels and Bluetooth configurations differ.

NVD’s “High” Is Not the Same Thing as “Drop Everything”​

A 7.1 High score will trigger dashboards. It may also trigger ticket queues, SLA clocks, and anxious managers who do not care about the difference between a Bluetooth firmware-response parser and a remote pre-auth service bug. That is the weakness of severity scores: they compress context into a number and then pretend the number can survive contact with reality.
For CVE-2026-46140, the high score makes sense if you accept the modeled confidentiality and availability impacts. Kernel memory disclosure and host instability are serious. The kernel is privileged, Bluetooth drivers run in sensitive space, and out-of-bounds reads are not cosmetic defects.
But prioritization should be asset-aware. A Linux laptop fleet with MediaTek wireless chips deserves faster attention than a virtual Linux server fleet with no Bluetooth hardware passed through. A hardened production container host without Bluetooth modules loaded sits in a different risk bucket than a developer workstation where users plug in random USB devices and run untrusted code.
This is also where Windows-heavy organizations can get caught out. Many asset databases know Windows build numbers, Intune compliance state, and BitLocker posture in exquisite detail, but treat Linux endpoints as a blur. If your Linux visibility cannot tell whether Bluetooth hardware exists, whether btmtk is present, or which kernel package is installed, a small CVE becomes an inventory audit.

MediaTek Bluetooth Is Everywhere Enough to Matter​

MediaTek wireless chipsets are common in consumer laptops, small desktops, USB adapters, and expansion cards. They are also common in the kind of inexpensive hardware that shows up in home labs and small offices — exactly the overlap zone where WindowsForum readers often run dual-boot systems, Linux desktops, Proxmox hosts, and WSL-adjacent development environments.
That does not mean every MediaTek Wi-Fi system is automatically vulnerable. The affected code path is in the Linux Bluetooth driver, not a generic Wi-Fi stack bug. Systems need a relevant kernel, a relevant driver path, and Bluetooth hardware behavior that exercises the WMT event handling. The vulnerability is specific enough that asset details matter.
The catch is that Bluetooth controllers are often easy to forget. They may be bundled with Wi-Fi modules, left enabled by default, or exposed over internal USB even when nobody thinks of the system as a “Bluetooth machine.” On Linux, the same machine that appears to have an ordinary PCIe wireless card may expose Bluetooth through a USB interface that loads btusb and vendor helper code.
Administrators should resist the temptation to classify this solely by server versus desktop. A server with no Bluetooth controller is probably not interesting here. A small-form-factor Linux box acting as a signage controller, kiosk, test bench, or edge node may be much more relevant, even if it lives outside the traditional laptop fleet.

The Fix Is Small, but the Operational Path Is Not​

The technical remediation is simple: run a kernel that contains the upstream stable fix for your branch. The operational remediation is harder because kernel updates bring reboot coordination, driver regressions, distro-specific packaging, and hardware validation. Bluetooth regressions after kernel updates are not hypothetical; the Linux desktop community has seen plenty of them, especially around MediaTek initialization paths.
That tension is familiar to anyone who manages endpoints. Security teams want fixed kernels; users want Bluetooth headsets, keyboards, and mice to keep working. IT wants reboots to happen outside business hours. Developers want their lab machines left alone until a build finishes. The CVE may be narrow, but the patch rides inside the most operationally sensitive component of the operating system.
For most organizations, the sane path is to patch through the distribution kernel channel rather than cherry-pick driver commits. Vendor kernels carry their own compatibility testing, signing, and module packaging. If a vendor advisory says a release is not affected because the fix is backported, trust the vendor’s package metadata over a raw upstream version comparison.
For unmanaged Linux desktops, the answer is less elegant: update the kernel, reboot, verify Bluetooth still initializes, and keep a previous known-good kernel available in the bootloader. That rollback path matters because a security fix that strands a user without input devices or headset audio will be bypassed, delayed, or blamed for everything that happens afterward.

This Is the Kind of CVE That Exposes Weak Linux Inventory​

CVE-2026-46140 is not the biggest kernel vulnerability of the year. It is not the flashiest Bluetooth bug. It is, however, a useful stress test for vulnerability management maturity because it asks several questions that many inventories cannot answer quickly.
Which systems run Linux kernels in the affected ranges? Which of those kernels are vendor-patched despite older version strings? Which machines have MediaTek Bluetooth devices? Which load the btmtk path? Which are laptops or user-accessible systems rather than headless infrastructure? Which systems can reboot this week without breaking business workflows?
Those questions are mundane, but they are where patch management either succeeds or becomes theater. A scanner finding a CPE match is not remediation. A ticket that says “upgrade Linux kernel” without hardware context is not prioritization. A dashboard count that lumps vulnerable Bluetooth laptops together with Bluetooth-free cloud VMs is not risk management.
The best teams will use this CVE to tighten classification. They will tag hardware capabilities, separate distro advisory status from upstream version math, and build a habit of verifying loaded modules and device IDs before escalating every kernel CVE as a production incident. That work pays off again and again because Linux kernel CVEs arrive continuously, and most are not evenly relevant to every Linux system.

Windows Shops Should Not Treat This as Somebody Else’s Kernel Problem​

WindowsForum readers may reasonably ask why a Linux Bluetooth CVE belongs on their radar. The answer is that the Windows estate is no longer just Windows. It is Windows plus WSL, Windows plus Linux VMs, Windows plus Azure images, Windows plus containers, Windows plus developer laptops that dual-boot when nobody is looking, and Windows plus appliances running kernels that procurement never mentioned.
This vulnerability does not affect the Windows Bluetooth stack. It does not mean a Windows 11 laptop with a MediaTek adapter is exposed through Microsoft’s driver model. The vulnerable code is in the Linux kernel’s btmtk driver. That boundary should be stated clearly because cross-platform hardware names can create confusion.
But Windows administrators often own the endpoints, networks, and identity controls around the Linux systems anyway. A developer workstation running Linux in a VM with USB Bluetooth passed through may fall into the same operational orbit as its Windows host. A Hyper-V lab full of Linux guests may be patched by the same team that manages Windows Server. A fleet of edge devices may authenticate against Microsoft Entra ID while booting Linux underneath.
The practical lesson is not “Windows is affected.” It is that hardware-adjacent Linux bugs can appear inside Windows-managed organizations through side channels: virtualization, developer tooling, appliance fleets, and mixed operating-system labs. Ignoring them because the CVE says Linux is a governance failure, not a platform distinction.

The CPE Question Has an Answer, but Scanners Still Need Judgment​

So, are we missing a CPE? Based on NVD’s June 24 enrichment, the main Linux kernel CPE entries are now present. If a scanner or internal vulnerability database still shows no CPE for CVE-2026-46140, it may be operating on stale NVD data, caching an earlier CVE state, or relying on a feed that has not yet ingested the latest change record.
That does not mean every downstream product CPE is solved. Linux kernel vulnerability matching is rarely a one-CPE story. Distribution packages, cloud images, embedded vendors, NAS appliances, router firmware, and security products may all ship kernels that derive from affected code but are not represented cleanly by the generic upstream Linux kernel CPE.
This is the subtle but important distinction: the upstream CPE exists, while your environment’s product mapping may still be incomplete. A vulnerability tool can be technically correct to flag the generic kernel and still operationally unhelpful if it cannot distinguish patched Ubuntu kernels, custom appliance firmware, or systems with no relevant Bluetooth hardware. Likewise, a tool can be quiet because it lacks a downstream CPE and still leave exposure on a custom build.
The right escalation path is not to argue abstractly over the NVD page. It is to validate the feed timestamp, compare the running kernel against the fixed branch version or vendor advisory, and check whether the affected driver and hardware are present. If the tool still misclassifies the system after that, file the scanner exception with evidence instead of suppressing the CVE globally.

The Patch Note That Should Shape the Ticket​

The concrete remediation message should be narrower than the CVE headline. This is not “fix Bluetooth” or “patch Linux someday.” It is “ensure Linux systems with MediaTek Bluetooth support run a kernel containing the btmtk_usb_hci_wmt_sync() SKB length validation fix, then reboot and verify Bluetooth initialization.”
That phrasing matters because it gives desktop support and sysadmins something testable. After patching, they can confirm the running kernel version, review distro advisory status, check dmesg for Bluetooth initialization errors, and verify the controller appears in bluetoothctl or the desktop settings panel. If a regression appears, they can roll back or move to the next vendor-fixed kernel instead of confusing a functional Bluetooth failure with unresolved vulnerability exposure.
Organizations with formal vulnerability management should also separate three states: vulnerable and exposed, vulnerable but not exposed because no relevant hardware or module exists, and fixed by vendor backport despite upstream-looking version numbers. Treating those states as identical wastes time and encourages blanket exceptions. Treating them separately produces a smaller, more accurate remediation queue.
The existence of release-candidate CPEs also deserves attention in labs. If your developers or kernel testers are running 7.1 rc1 or rc2, they should update to a fixed release candidate or later tree rather than assuming pre-release systems are beneath vulnerability management. Test machines are often where unusual hardware and permissive access collide.

The Bluetooth Bug Leaves a Paper Trail for the Patch Queue​

CVE-2026-46140 is useful because its facts are concrete, even if its ecosystem handling is messy. The code path is named, the structure sizes are known, the weakness class is clear, and the fix is a specific SKB length validation before struct access. That makes it a better candidate for disciplined remediation than for panic.
The key points for WindowsForum readers are straightforward:
  • NVD now includes Linux kernel CPE ranges for CVE-2026-46140, so a totally missing upstream CPE is no longer the main issue.
  • The vulnerability affects the Linux kernel’s MediaTek Bluetooth driver path, not the Windows Bluetooth stack.
  • The bug is an out-of-bounds read caused by parsing a short WMT firmware response before validating that enough SKB data is present.
  • The most relevant systems are Linux machines with affected kernels and MediaTek Bluetooth hardware or loaded driver paths.
  • Kernel version checks should be reconciled with distribution advisories because vendors may backport the fix without matching upstream version numbers.
  • Patching should include a reboot and a Bluetooth sanity check, especially on desktops, laptops, lab systems, and edge devices.
The long-term lesson is that kernel CVEs increasingly punish organizations that manage operating systems by logo rather than by actual code, hardware, and update channel. CVE-2026-46140 is a small Bluetooth bounds-checking bug with a big administrative shadow: it reminds us that modern estates are hybrid even when the org chart is not, and that the next “minor driver flaw” will again separate teams with real inventory from teams with only dashboards.

References​

  1. Primary source: NVD / Linux Kernel
    Published: 2026-06-25T01:03:39-07:00
  2. Security advisory: MSRC
    Published: 2026-06-25T01:03:39-07:00
    Original feed URL
  3. Related coverage: vulnerability.circl.lu
  4. Related coverage: cve.imfht.com
  5. Related coverage: security.snyk.io
 

Back
Top