CVE-2024-26903: Bluetooth: rfcomm: Fix null-ptr-deref in rfcomm_check_security
In the Linux kernel, the following vulnerability has been resolved:
Bluetooth: rfcomm: Fix null-ptr-deref in rfcomm_check_security
During our fuzz testing of the connection and disconnection process at the
RFCOMM layer, we discovered this bug. By comparing the packets from a
normal connection and disconnection process with the testcase that
triggered a KASAN report. We analyzed the cause of this bug as follows:
1. In the packets captured during a normal connection, the host sends a
`Read Encryption Key Size` type of `HCI_CMD` packet
(Command Opcode: 0x1408) to the controller to inquire the length of
encryption key.After receiving this packet, the controller immediately
replies with a Command Completepacket (Event Code: 0x0e) to return the
Encryption Key Size.
2. In our fuzz test case, the timing of the controller's response to this
packet was delayed to an unexpected point: after the RFCOMM and L2CAP
layers had disconnected but before the HCI layer had disconnected.
3. After receiving the Encryption Key Size Response at the time described
in point 2, the host still called the rfcomm_check_security function.
However, by this time `struct l2cap_conn *conn = l2cap_pi(sk)->chan->conn;`
had already been released, and when the function executed
`return hci_conn_security(conn->hcon, d->sec_level, auth_type, d->out);`,
specifically when accessing `conn->hcon`, a null-ptr-deref error occurred.
To fix this bug, check if `sk->sk_state` is BT_CLOSED before calling
rfcomm_recv_frame in rfcomm_process_rx.
Security readout for executives and security teams
Plain-English summary
CVE-2024-26903 is a Linux kernel Bluetooth RFCOMM flaw that can cause a kernel crash. The reported impact is availability only, not data theft or privilege escalation. It requires local, low-privileged access according to the CVSS vector, so urgency is highest for Linux systems where Bluetooth is enabled and untrusted local users exist.
Executive priority
Treat this as a routine but real availability risk. Patch during the next kernel maintenance window, faster for shared workstations, kiosks, labs, or embedded Linux assets with Bluetooth enabled.
Technical view
A delayed HCI encryption key size response can arrive after RFCOMM/L2CAP teardown, causing rfcomm_check_security to dereference a released or null L2CAP connection pointer. The upstream fix checks for BT_CLOSED before calling rfcomm_recv_frame. The issue is classified as CWE-476 with CVSS 3.1 score 5.5.
Likely exposure
Exposure is most likely on Linux systems using affected kernels with Bluetooth RFCOMM enabled. Servers without Bluetooth hardware or with Bluetooth disabled have lower practical exposure. Distribution kernels may have backported fixes, so version numbers alone may not be decisive.
Exploitation context
The source bundle does not show CISA KEV listing or other evidence of active exploitation. The bug was discovered through fuzz testing, and the described effect is a local availability impact through kernel null-pointer dereference, not confidentiality or integrity compromise.
Researcher notes
The evidence supports a race or lifetime bug in Linux Bluetooth RFCOMM teardown handling. Public sources provide the root-cause narrative and stable fix references, but not a confirmed in-the-wild exploit or broad product-specific exposure beyond Linux and listed vendor advisories.
Mitigation direction
Update affected Linux kernels using vendor-supported packages or stable kernel fixes.
Apply Debian LTS kernel advisories where Debian systems are in scope.
Disable Bluetooth or RFCOMM where it is not operationally required.
Check Siemens ProductCERT guidance for Siemens-managed or embedded Linux assets.
Prioritize systems with Bluetooth enabled and untrusted local user access.
Validation and detection
Inventory Linux kernel versions and Bluetooth/RFCOMM enablement across endpoints and appliances.
Confirm whether installed kernels include the referenced upstream stable fix or vendor backport.
Review distribution advisories for package-specific fixed versions.
Check kernel logs for Bluetooth-related crashes, while avoiding exploit reproduction.
Document exceptions where Bluetooth is disabled or hardware is absent.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cwe · low confidence lookup
CWE-476: Exact CWE lookup
Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.
CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.
CWE-476 · source CWE mapping
NULL Pointer Dereference
NULL Pointer Dereference represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.