Skip to content
KitploitKITPLOIT
ToolsBlog
Submit
ToolsBlog
Submit

Hacking, PenTest, and Cybersecurity Tools for Your Security Arsenal!

Kitploit is a directory of hacking, cybersecurity, and pentesting tools. Discover the latest project updates to find vulnerabilities, analyze systems, automate testing, and strengthen your security.

··Feeds·Contact·Privacy·© 2026 Kitploit

Tool Directory

Categories

View all categories
Loading categories
CVE-2026-22017-Firmware-Update-via-BLE-Without-Authentication — Simulated BLE peripheral exposing an unauthenticated GATT firmware-update characteristic; demonstrates critical CVE-2026-22017 device-takeover vulnerability. | Kitploit
Tools/GitHubGitHub/george0papasotiriou/cve-2026-22017-firmware-update-via-ble-without-authentication
Embedded Systems SecurityBluetooth SecurityIoT SecurityVulnerability AnalysisExploitationWireless SecurityHardware & IoT Security
GitHubgeorge0papasotiriou/cve-2026-22017-firmware-update-via-ble-without-authentication

Most Popular

View all →

Discover the most used tools by our community.

Explore all tools

Browse our collection of tools

View all tools →
Share

CVE-2026-22017-Firmware-Update-via-BLE-Without-Authentication

Simulated BLE peripheral exposing an unauthenticated GATT firmware-update characteristic; demonstrates critical CVE-2026-22017 device-takeover vulnerability.

View Repository
101 month agoNot yet reviewed

CVE-2026-22017 – Firmware Update via BLE Without Authentication

Program Code (Python bleak peripheral)

root@kitploit:~
# ble_firmware_update.py - Simulated BLE peripheral accepting firmware writes
from bleak import BleakServer, BleakGATTCharacteristic
import asyncio

class FirmwareService:
    def __init__(self):
        self.firmware_data = bytearray()

    def write_characteristic(self, data):
        self.firmware_data.extend(data)
        if len(self.firmware_data) > 1024:
            print("Firmware update received, applying... (malicious possible)")

async def main():
    server = BleakServer()
    await server.start()
    # Expose a characteristic with no authentication
    char = BleakGATTCharacteristic(
        uuid='12345678-1234-1234-1234-123456789abc',
        properties=['write'],
        permissions=['write'],
        on_write=lambda value: firmware_service.write_characteristic(value)
    )
    # register service...
    await asyncio.sleep(3600)

firmware_service = FirmwareService()
asyncio.run(main())

CVE-2026-22017 – BLE Firmware Update Without Authentication

Severity: Critical

Overview

A Bluetooth Low Energy device allows firmware updates over a GATT characteristic without any pairing or authentication. An attacker in proximity can send a malicious firmware image and take over the device.

Vulnerability Details

  • Type: Missing Authentication
  • Impact: Device takeover, physical harm.
  • Root Cause: The BLE characteristic is writable without requiring bonding or a secure connection.

Exploit Demonstration

Run the vulnerable peripheral simulation and connect with a BLE client to write fake firmware.

root@kitploit:~
python ble_firmware_update.py
Download Tool