CVE-2026-98731
NoneCVSS
—
EPSS
0.2%
Published
Oct 18, 2026
CISA due date
—
Cloudanix analysis
A bug in how Linux handles certain Bluetooth data on Intel hardware can let attackers send bad packets that crash the computer or allow deeper access.
- Exploitation
- Adjacent Network
- Attacker needs
- None
- Complexity
- Moderate
- Impact
- Data Tampering
- Component
- OS kernel
- Class
- Buffer Overflow
- Remediation
- Patch
- Effort
- Low
- Patch risk
- Low
What it actually does
Integer overflow in u16 length calculation (HDR_SIZE + dlen) for ACL/ISO Bluetooth frames allows the sum to wrap, bypassing an skb length check and enabling skb_trim to incorrectly truncate or mishandle packets, which can lead to memory corruption or buffer overflow conditions in the btintel_pcie_recv_frame path.
Why it matters to the business
Organizations running vulnerable Linux kernels with Intel PCIe Bluetooth hardware face elevated risk of system crashes, denial of service, or potential kernel-level code execution from Bluetooth traffic, requiring prompt kernel updates to avoid operational disruption or security incidents; the issue affects a core OS component used in many servers, desktops, and embedded devices.
How an attack unfolds
An attacker sends specially crafted ACL or ISO Bluetooth frames with dlen values near or above 0xFFFC over a Bluetooth connection to a vulnerable Linux system; the kernel driver computes a wrapped plen, skips the length validation, and processes a truncated or malformed skb, which an exploit can leverage to corrupt adjacent kernel memory or trigger controlled execution.
How to fix it
Apply the upstream kernel patch that widens plen to u32 in btintel_pcie_recv_frame; rebuild and deploy updated kernels across all affected systems as soon as vendor backports become available.
How to confirm the fix worked
Confirm the presence of the fix by inspecting the btintel_pcie.c source for u32 plen declaration and testing with crafted frames that previously triggered wraparound; verify kernel version or commit history includes the resolution for the Bluetooth recv_frame length check.
Typical attack path
- Establish a Bluetooth connection to the target Linux system using Intel PCIe hardware
- Transmit ACL/ISO frames with dlen values engineered to cause u16 wraparound in plen calculation
- Trigger skb_trim on the incorrectly validated skb to induce memory corruption
- Leverage the resulting kernel state for denial of service or privilege escalation
How to detect it
Search kernel logs and Bluetooth stack traces for unusual skb_trim calls or length validation failures around btintel_pcie_recv_frame; look for repeated Bluetooth frame processing anomalies or crashes in dmesg and audit logs shortly after packet reception.
What your security team should do
- Prioritize kernel updates for all systems exposing Bluetooth interfaces, especially those handling untrusted connections
- Monitor for new stable kernel releases containing the btintel_pcie plen fix
- Temporarily disable Bluetooth where not required until patches are applied
- Review and restrict Bluetooth pairing policies to reduce attack surface
The record
In the Linux kernel, the following vulnerability has been resolved: Bluetooth: btintel_pcie: fix plen overflow in btintel_pcie_recv_frame() plen is u16 and computed as HDR_SIZE + dlen. For ACL/ISO frames dlen is a 16-bit field, so a value >= 0xFFFC wraps the sum, bypassing the "skb->len < plen" check and letting skb_trim() truncate the packet. Widen plen to u32 so the addition cannot wrap.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|