Engineer working on a laptop connected to a device test rig, surrounded by wiring harnesses and test hardware

Firmware vulnerabilities & fixes

Bluetooth Low Energy (BLE) security for IoT devices: why pairing and open GATT are still the real risk

Last updated:

Bluetooth Low Energy (BLE) security is whether a device's pairing process and its exposed GATT services and characteristics actually require authentication — not whether BLE's own AES-CCM link-layer encryption is strong, because independent research has not broken that cipher. Real CISA medical-device advisories from 2025 and 2026, against a cardiac/fitness monitor and a powered wheelchair, found critical GATT characteristics reachable with no pairing at all, and the BLE stacks IoT firmware actually ships — BlueZ, Zephyr, vendor SoC SDKs — have carried their own exploitable CVEs. For a device maker, that pairing-and-GATT gap, not the cipher, is what a firmware review needs to check.

Key takeaways

  • Bluetooth Low Energy is the low-power radio mode of the Bluetooth standard, introduced in Bluetooth 4.0 and maintained by the Bluetooth SIG alongside Classic Bluetooth (BR/EDR).
  • The join/pairing moment is the recurring weak point, the same pattern seen across other wireless IoT protocols.
  • GATT's service/characteristic structure is designed so each characteristic can carry its own access permission — readable without security, readable only after pairing, or requiring authenticated pairing specifically.
  • Yes, across more than one widely deployed stack, and that matters directly for a firmware review because a BLE stack is a tracked, versioned software component like any other embedded library.

What is BLE, and how does its security model differ from Classic Bluetooth?

Bluetooth Low Energy is the low-power radio mode of the Bluetooth standard, introduced in Bluetooth 4.0 and maintained by the Bluetooth SIG alongside Classic Bluetooth (BR/EDR). It is the default radio in wearables, fitness and medical monitors, smart-home sensors, beacons, access-control hardware and a large share of industrial handheld and asset-tracking devices — products that need months or years of battery life rather than the continuous audio/data throughput Classic Bluetooth is built for. A BLE device's data is organized through the Generic Attribute Profile (GATT): the Bluetooth SIG's own developer material explains the underlying idea directly — "a Bluetooth device contains a table of data called an attribute table which can be accessed by other connected devices in various possible ways," and that attribute table, broken into services and characteristics, "and the ways in which it can be exploited" is exactly what GATT governs.

BLE carries its own security architecture, separate from Classic Bluetooth's. NIST SP 800-121 Revision 2 documents two LE security modes: "Low energy Security Mode 1 has multiple levels associated with encryption" (from Level 1, no security, up to Level 4, added in Bluetooth 4.2, requiring authenticated Secure Connections pairing), and "Low energy Security Mode 2 has multiple levels associated with data signing" (integrity without confidentiality). For Mode 1 Level 4, NIST states it "strongly recommends its use for all low energy connections in 4.2" — AES-CMAC and the P-256 elliptic curve handle the pairing key agreement, and AES-CCM encrypts the link itself. No research this guide reviewed claims that cipher has been broken; every real, documented BLE compromise below is about what happens before or after that encryption — the pairing method, the bonding keys, and the GATT permissions layered on top of it.

How do attackers exploit BLE pairing and bonding?

The join/pairing moment is the recurring weak point, the same pattern seen across other wireless IoT protocols. NIST SP 800-121 Revision 2 is blunt about the oldest BLE pairing method: LE Legacy Pairing (the only option before Bluetooth 4.2) "should be considered broken" for every association method except out-of-band exchange with a 128-bit temporary key, "because if an attacker can capture the pairing frames, he or she can determine the resulting LTK" — the Long-Term Key used to encrypt the connection.

Even the newer LE Secure Connections pairing, introduced in Bluetooth 4.2 specifically to fix Legacy Pairing's weaknesses, carries one documented gap forward: its "Just Works" association model — used whenever neither device has a display or keyboard to exchange a passkey, which describes most IoT sensors and wearables — protects against passive eavesdropping but gives no protection against an active man-in-the-middle. CISA's own alert on the SweynTooth vulnerability family confirms this is exploited in the field, not just theoretical: attackers could "bypass the latest secure pairing mode of BLE" entirely on affected chips and gain direct read/write access to the device.

Real implementation bugs compound the specification-level gaps. CVE-2024-34722, published in NVD in 2024, describes "a possible authentication bypass during legacy BLE pairing due to incorrect implementation of a protocol" in smp_proc_rand, the pairing-random-value handler in Android's own Bluetooth stack — rated CVSS v3.1 8.8, requiring no user interaction. Bonding, the step where two paired devices store keys to reconnect without repeating pairing, has its own cross-protocol flaw: CVE-2020-15802 ("BLURtooth"), affecting Bluetooth Core Specification versions before 5.1, found that Cross Transport Key Derivation "may permit an unauthenticated user to establish a bonding with one transport, either LE or BR/EDR, and replace a bonding already established on the opposing transport... potentially overwriting an authenticated key with an unauthenticated key, or a key with greater entropy with one with less" — meaning a dual-mode device's strong LE bond can be quietly downgraded through its Classic Bluetooth side, or vice versa.

What does GATT actually expose, and what has real hardware shown?

GATT's service/characteristic structure is designed so each characteristic can carry its own access permission — readable without security, readable only after pairing, or requiring authenticated pairing specifically. That design only protects a device if the firmware actually sets those permissions correctly, and two current, real CISA medical-device advisories — ICSMA-26-148-01 and ICSMA-25-364-01 — show what happens when it does not.

Advisory Product CVE CVSS What was found
ICSMA-26-148-01 (May 2026) Fourth Frontier Frontier X2 wearable CVE-2026-5768 8.8 (v3.1) "Allows unauthenticated BLE read/write access to critical GATT characteristics without enforcing pairing authentication or authorization," letting an attacker start/stop activities, trigger vibrations, cause denial of service and inject fabricated heart-rate/breathing-rate data; the companion app can also be spoofed by cloning BLE advertisements
ICSMA-25-364-01 WHILL Model C2 electric wheelchair, Model F power chair CVE-2025-14346 9.8 (v3.1), Critical Products "do not enforce authentication for Bluetooth connections"; an attacker in range can pair and "issue movement commands, override speed restrictions, and manipulate configuration profiles without any credentials or user interaction"

Neither finding involves breaking BLE's cipher or a clever cryptographic attack — both are GATT characteristics that a specification allowing fine-grained, per-characteristic security simply were not configured to require it. The same pattern shows up in far less safety-critical products too: device-information characteristics (manufacturer, model, firmware version, serial number) are routinely left readable without pairing by design, which is a smaller but still real reconnaissance gift to an attacker scanning for vulnerable firmware versions over the air.

Are the BLE stacks IoT firmware actually ships a real source of CVEs?

Yes, across more than one widely deployed stack, and that matters directly for a firmware review because a BLE stack is a tracked, versioned software component like any other embedded library. BlueZ, the BLE stack built into the Linux kernel and used in countless Linux-based gateways, hubs and single-board-computer products, carries CVE-2024-8805 in NVD: "BlueZ HID over GATT Profile Improper Access Control Remote Code Execution Vulnerability... the issue results from the lack of authorization prior to allowing access to functionality," CVSS v3.1 8.8, requiring no authentication. The Zephyr Project, one of the most common real-time operating systems for embedded BLE peripherals, publishes its own CVE list directly on its documentation site; its 2025 entries include CVE-2025-7403 ("unsafe handling in bt_conn_tx_processor... resulting in a write-before-zero," a use-after-free an attacker can turn into controlled memory corruption) alongside CVE-2025-10456 and CVE-2025-10457 in BLE connection and fixed-channel handling.

Academic research shows this is not purely an implementation problem a careful vendor can code around — part of it is the specification itself. The BLESA paper, awarded Best Paper at the 14th USENIX Workshop on Offensive Technologies (WOOT) in 2020, found that the BLE link-layer reconnection procedure makes authentication optional rather than mandatory in the specification itself, and demonstrated the resulting spoofing attack against real BlueZ (Linux), Fluoride (Android) and iOS BLE stack implementations — each one following the specification correctly, and each one still exploitable. CISA's SweynTooth alert adds the scale: 12 named vulnerabilities (with more identified afterward) across BLE SDKs from Texas Instruments, NXP, Cypress, STMicroelectronics, Telink and other silicon vendors, causing crashes, deadlocks requiring a manual restart, and — as noted above — pairing bypass on some chips. Taken together, a device's BLE stack identity and exact version is as material to its security posture as any other firmware component, not a detail the radio chipset's marketing sheet settles on its own.

What should a device maker or integrator check first?

  1. Confirm LE Secure Connections pairing is actually enforced, not Legacy Pairing, and that "Just Works" is not silently accepted for any characteristic that controls or reads something sensitive — verify this against the shipped firmware's paired behavior, not a Bluetooth version label.
  2. Review every GATT characteristic's permission flagsConfirm the characteristics that matter — device control, health or safety data, configuration — actually require authenticated pairing or bonding, since both advisories above involve characteristics with effectively no access control.
  3. Identify the exact BLE stack and version in the firmware— BlueZ, Zephyr, a vendor SoC SDK, or a proprietary implementation — and check it against known CVEs the way a firmware SBOM is built to do, rather than assuming a newer product generation means a patched stack.
  4. Test reconnection and bonding behavior specifically, not just the initial pairing ceremony: BLESA and BLURtooth both show that reconnection and cross-transport bonding, not first-time pairing, are where authentication can quietly become optional.
  5. If the product also carries Classic Bluetooth (BR/EDR), treat it as a dual-mode device with its own, separate checklist: SoftWSP's NIST SP 800-121 guide summarizes NIST's BR/EDR security-mode guidance and the Section 4.4 piconet checklist that still applies alongside the BLE-specific items above.

How SoftWSP's AI-assisted analysis actually helps with BLE

SoftWSP's firmware security scan builds a software bill of materials for the whole firmware image and matches every identified component — including the BLE stack itself, whether that is BlueZ on a Linux-based gateway, Zephyr on an RTOS-based peripheral, or a vendor SoC SDK — against published CVE, CISA KEV and FIRST EPSS data, with an engineer reviewing every AI-written finding before it ships. That is a known-component-and-version check, the same kind this guide used to find CVE-2024-8805 and the 2025 Zephyr entries above — it does not run a live over-the-air BLE pairing or GATT-fuzzing test against the device itself. See Device & Firmware Security for what the scan covers and where that boundary sits.

This guide draws on the Bluetooth SIG's own developer material (bluetooth.com) for GATT's attribute-table description; NIST SP 800-121 Revision 2 for LE security modes and pairing guidance; CISA's ICSMA-26-148-01, ICSMA-25-364-01 and ICS-ALERT-20-063-01 advisories; NVD entries for CVE-2024-8805, CVE-2024-34722 and CVE-2020-15802; the Zephyr Project's own published 2025 CVE list; and the BLESA paper from USENIX WOOT 2020. It is general information, not a substitute for a current CISA advisory search against your exact BLE chipset, stack and firmware version.

Put this guide to work

Frequently asked questions

Is BLE's own encryption actually broken?

No — this guide found no CISA advisory, CVE or academic paper claiming BLE's AES-CCM link-layer encryption itself has been broken. NIST SP 800-121 Revision 2 describes LE Security Mode 1 Level 4 (added in Bluetooth 4.2) as using 'authenticated low energy Secure Connections pairing with encryption' built on AES-CMAC, the P-256 elliptic curve for key agreement, and AES-CCM for the link itself, and recommends organizations use it for every LE connection where the hardware supports it. The real, repeatedly documented weakness sits one layer up: how a device gets into that encrypted state in the first place, and what it lets an unauthenticated peer read or write once connected. CISA's own alert on the SweynTooth vulnerability family put it plainly: attackers could 'bypass the latest secure pairing mode of BLE' and gain direct read/write access to a device's data — a pairing or implementation failure, not a cryptographic break.

How do attackers exploit BLE pairing and bonding?

Mainly by targeting the pairing method and the bonding keys it produces, not the cipher that follows. NIST SP 800-121 Revision 2 warns that LE Legacy Pairing — the only pairing method available before Bluetooth 4.2's Secure Connections — 'should be considered broken' for every method except out-of-band exchange with a 128-bit temporary key, because an attacker who captures the pairing frames can derive the resulting Long-Term Key. Even Secure Connections has a documented gap: its 'Just Works' association model, used when neither device has a display or keyboard, gives no protection against an active man-in-the-middle, only against passive eavesdropping — the same weakness CISA flagged when SweynTooth-affected chips let an attacker force or abuse the unauthenticated pairing path. Real implementation bugs compound this: CVE-2024-34722, a 2024 entry in NVD, describes 'a possible authentication bypass during legacy BLE pairing due to incorrect implementation of a protocol' in Android's own Bluetooth stack (function smp_proc_rand), rated CVSS v3.1 8.8. Bonding — the step where paired devices store keys for automatic reconnection — has its own documented flaw: CVE-2020-15802 ('BLURtooth'), affecting Bluetooth Core Specification versions before 5.1, lets an unauthenticated device that bonds over one transport (LE or BR/EDR) overwrite an already-bonded key on the other transport, 'potentially overwriting an authenticated key with an unauthenticated key, or a key with greater entropy with one with less.'

What does a BLE device's GATT actually expose, and has real hardware been found vulnerable?

GATT (the Generic Attribute Profile) is the structure every BLE device uses to organize its readable/writable data into services and characteristics, and the Bluetooth SIG's own developer material describes the underlying mechanism directly: 'A Bluetooth device contains a table of data called an attribute table which can be accessed by other connected devices in various possible ways,' and that table 'and the ways in which it can be exploited' is exactly what GATT governs. The specification lets each characteristic require authentication or authorization before it can be read or written — but that protection is only as good as whether the firmware actually enforces it. Two real, current CISA medical-device advisories show what happens when it is not enforced: ICSMA-26-148-01 (May 2026) found that Fourth Frontier's Frontier X2 wearable 'allows unauthenticated BLE read/write access to critical GATT characteristics without enforcing pairing authentication or authorization,' letting an attacker in range start or stop activities, trigger vibrations, and inject fabricated heart-rate and breathing-rate telemetry (CVE-2026-5768, CVSS v3.1 8.8); the same advisory also found the companion app could be spoofed by cloning BLE advertisements. ICSMA-25-364-01 (WHILL Model C2 electric wheelchairs and Model F power chairs) found the products 'do not enforce authentication for Bluetooth connections,' so 'an attacker within range can pair with the device and issue movement commands, override speed restrictions, and manipulate configuration profiles without any credentials or user interaction' (CVE-2025-14346, CVSS v3.1 9.8 Critical) — a mobility-assistance device with no BLE authentication at all.

Are the BLE stacks IoT firmware actually ships a real source of CVEs?

Yes, and across more than one widely used stack, not a single vendor's mistake. BlueZ, the Bluetooth stack built into the Linux kernel and used in countless Linux-based gateways and hubs, has CVE-2024-8805 in NVD: a 'BlueZ HID over GATT Profile Improper Access Control Remote Code Execution Vulnerability' where 'the issue results from the lack of authorization prior to allowing access to functionality,' rated CVSS v3.1 8.8 with no authentication required. The Zephyr Project, a common RTOS for embedded BLE peripherals, lists its own 2025 Bluetooth security advisories directly on its documentation site, including CVE-2025-7403 ('unsafe handling in bt_conn_tx_processor... resulting in a write-before-zero,' a use-after-free an attacker can turn into memory corruption) and CVE-2025-10456/CVE-2025-10457, both in BLE connection and fixed-channel handling. Academic research backs this with a specification-level finding, not just implementation bugs: the BLESA paper, awarded Best Paper at USENIX WOOT 2020, found that the BLE reconnection procedure itself makes authentication optional rather than mandatory, and confirmed the resulting spoofing attack worked against real BlueZ (Linux), Fluoride (Android) and iOS BLE stack implementations — meaning a stack that followed the specification correctly could still be spoofed. Add CISA's SweynTooth alert, which names 12 (and growing) vulnerabilities across BLE SDKs from Texas Instruments, NXP, Cypress, STMicroelectronics and other silicon vendors causing crashes, deadlocks and pairing bypass, and the pattern is consistent: the BLE stack baked into a product's firmware is itself a tracked, versioned software component with its own CVE history, the same as any other firmware library.

What should a device maker or integrator check first before shipping a BLE product?

Confirm the product actually enforces LE Secure Connections pairing (Bluetooth 4.2+) rather than falling back to Legacy Pairing, and that 'Just Works' is not silently accepted for any characteristic that controls or reads something sensitive — verify this against the shipped firmware, not the chipset's marketing claim. Review every GATT characteristic's permission flags and confirm the ones that matter (device control, health data, configuration) actually require authenticated pairing or bonding, not just encryption, since the Fourth Frontier and WHILL advisories above both involve characteristics with effectively no access control at all. Identify the exact BLE stack and version your firmware ships — BlueZ, Zephyr, a vendor SoC SDK, or a proprietary stack — and check it against known CVEs the way a [firmware SBOM](/guides/firmware-sbom/) is built to do, rather than assuming a newer Bluetooth version label means a patched stack. Test reconnection behavior specifically, since BLESA and BLURtooth both show that bonding and reconnection, not the initial pairing ceremony, can be where authentication quietly becomes optional. For the broader BR/EDR-and-LE checklist beyond BLE alone, NIST SP 800-121 Revision 2 (summarized in [SoftWSP's own guide](/guides/nist-sp-800-121-bluetooth-security/)) still gives a useful starting checklist for devices that carry both Bluetooth Classic and LE radios.

Sources

  1. Bluetooth SIG: "A developer's guide to Bluetooth technology" (attribute table / GATT description)
  2. NIST SP 800-121 Rev. 2, Guide to Bluetooth Security (includes updates as of 1-19-2022) — LE security modes, pairing
  3. CISA ICS Medical Advisory ICSMA-26-148-01: Fourth Frontier Frontier X2 (CVE-2026-5768)
  4. CISA ICS Medical Advisory ICSMA-25-364-01: WHILL Model C2/Model F (CVE-2025-14346)
  5. CISA ICS Alert ICS-ALERT-20-063-01: SweynTooth Vulnerabilities
  6. NVD: CVE-2024-8805 — BlueZ HID over GATT Profile Improper Access Control RCE
  7. NVD: CVE-2024-34722 — Android Bluetooth stack legacy BLE pairing authentication bypass
  8. NVD: CVE-2020-15802 — BLURtooth cross-transport key derivation
  9. The Zephyr Project: 2025 CVE disclosures (Bluetooth/BLE entries, docs.zephyrproject.org)
  10. Wu, Nan, Kumar, Tian, Bianchi, Payer, Xu: "BLESA: Spoofing Attacks against Reconnections in Bluetooth Low Energy," USENIX WOOT 2020 (Best Paper)
Was this guide helpful?

In this cluster

Bluetooth Low Energy (BLE) security for IoT devices: why pairing and open GATT are still the real risk