CVE-2026-11893
Received Received - Intake

Buffer Ownership Violation in Bouffalo Lab BLE Controller Driver

Vulnerability report for CVE-2026-11893, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-08-11

Last updated on: 2026-08-11

Assigner: Zephyr Project

Description

The Bluetooth HCI driver for Bouffalo Lab on-chip BLE controllers (BL60x/BL70x/BL61x), bt_bflb_send() in drivers/bluetooth/hci/hci_bflb.c, violates the bt_hci_driver_api.send() buffer-ownership contract. That contract (documented at include/zephyr/drivers/bluetooth.h) requires the buffer reference to be consumed only on success; on error the caller still owns the reference and unrefs it. The driver instead routed all error paths through a shared label that unconditionally called net_buf_unref(buf) before returning the error code, consuming the buffer on failure as well. When send() returns an error, the host TX path (send_buf() in subsys/bluetooth/host/conn.c) unrefs the same buffer again, believing it still owns it. This double-unref over-decrements the net_buf reference count. Because the buffer is a TX fragment whose destroy callback also decrements its still-queued parent buffer, the parent is freed prematurely while reachable on the connection TX queue, producing a use-after-free and corruption of the shared net_buf pool rather than a benign leak. The error conditions are on the host-to-controller transmit path (controller send failure, or an unsupported H:4 packet type), so they are not driven directly by attacker-supplied radio bytes; a remote/adjacent peer can influence them only indirectly, e.g. by inducing controller TX failures under heavy link load. The consequence when reached is BLE-stack denial of service (crash / pool corruption) with possible further memory corruption, bounded to devices using one of these Bouffalo Lab on-chip controllers.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-08-11
Last Modified
2026-08-11
Generated
2026-08-11
AI Q&A
2026-08-11
EPSS Evaluated
N/A
NVD
EUVD

Affected Vendors & Products

Showing 3 associated CPEs
Vendor Product Version / Range
bouffalo_lab zephyr to 4.4.1 (inc)
bouffalo_lab zephyr From 4.4.2 (inc)
bouffalo_lab zephyr 4.5.0

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-415 The product calls free() twice on the same memory address.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

This vulnerability is a buffer ownership contract violation in the Bluetooth HCI driver for Bouffalo Lab on-chip BLE controllers (BL60x/BL70x/BL61x). The bt_bflb_send() function incorrectly releases buffer ownership on error paths by calling net_buf_unref(buf) before returning an error. This causes a double unref when the host TX path also unrefs the buffer, leading to a use-after-free and memory corruption.

Detection Guidance

Detection requires checking if your Zephyr RTOS version is affected (4.4.0 to 4.4.1) and if using Bouffalo Lab BL60x/BL70x/BL61x controllers. Inspect the bt_bflb_send() function in drivers/bluetooth/hci/hci_bflb.c for unconditional net_buf_unref() calls on error paths.

Impact Analysis

The vulnerability can cause denial of service (crash or memory corruption) on devices using Bouffalo Lab on-chip BLE controllers. It may lead to system instability or further memory corruption due to premature buffer freeing while the buffer is still in use.

Mitigation Strategies

Upgrade Zephyr RTOS to version 4.4.2 or later. If upgrading is not possible, apply the patch from the Zephyr GitHub commit 76d92d502b30218aaf11cbbe1be180a317627bb9 to fix the buffer ownership issue in bt_bflb_send().

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-11893. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart