Description
In the Linux kernel, the following vulnerability has been resolved:

Bluetooth: RFCOMM: validate skb length in rfcomm_recv_frame

rfcomm_recv_frame() casts skb->data to struct rfcomm_hdr and dereferences
hdr->addr and hdr->ctrl without validating skb->len first. A truncated
frame with skb->len less than the minimum header size causes an
out-of-bounds read of uninitialized memory. Additionally, a zero-length
frame causes skb->len-- to underflow to UINT_MAX, making
skb_tail_pointer() read far past the buffer.

Commit 23882b828c3c ("Bluetooth: RFCOMM: validate skb length in MCC
handlers") fixed the same class of missing-length-check bugs in the MCC
sub-handlers, but the top-level rfcomm_recv_frame() was left unfixed.
KMSAN reports:

BUG: KMSAN: uninit-value in rfcomm_run
...
Uninit was created at:
__alloc_skb+0x474/0xb60
vhci_write+0xe9/0x870

Fix this by rejecting frames smaller than sizeof(struct rfcomm_hdr) + 1
(the minimum frame must have a 3-byte header and a 1-byte FCS).
Published: 2026-09-24
Score: n/a
EPSS: < 1% Very Low
KEV: No
Impact: Information Disclosure via Out-of-Bounds Read
Action: Patch Now
AI Analysis

Impact

In the Linux kernel, the rfcomm_recv_frame() function casts incoming skb data to a struct rfcomm_hdr and dereferences its fields without verifying that the skb contains sufficient bytes. A truncated or zero‑length frame causes an out‑of‑bounds read of uninitialized memory; the zero‑length case may reduce skb->len to the maximum unsigned value and causes skb_tail_pointer() to read far beyond the allocated buffer. These memory leaks can expose kernel data and other sensitive information. The underlying weakness is a classic lack of input validation and bounds checking, leading to an information exposure flaw.

Affected Systems

All installations of the Linux kernel that contain the vulnerable RFCOMM stack, particularly systems with Bluetooth enabled, are affected. The flaw exists in all kernel versions prior to the inclusion of commit 67dc3b40fae71b6b11c71e7ff69bac0758818c05 which added the missing length check.

Risk and Exploitability

No CVSS score is presently available and the EPSS score is not provided, but the absence of an exploited vulnerability in the KEV catalog suggests no publicly documented attacks. Nevertheless, the vulnerability could be leveraged remotely by an attacker who can send crafted Bluetooth RFCOMM frames to the target, potentially exposing kernel memory contents. The risk is moderate to high for systems with active Bluetooth services and insufficient protection against rogue devices.

Generated by OpenCVE AI on September 25, 2026 at 07:26 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Apply an updated Linux kernel that includes the rfcomm_recv_frame length‑check patch (commit 67dc3b40fae71b6b11c71e7ff69bac0758818c05).
  • Disable the Bluetooth RFCOMM subsystem or related services when they are not required to eliminate the attack surface.
  • Configure the host firewall or SELinux policies to block incoming RFCOMM traffic from untrusted devices.

Generated by OpenCVE AI on September 25, 2026 at 07:26 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Debian DLA Debian DLA DLA-4817-1 linux-6.12 security update
Debian DSA Debian DSA DSA-6528-1 linux security update
History

Sat, 03 Oct 2026 11:15:00 +0000


Fri, 25 Sep 2026 07:45:00 +0000

Type Values Removed Values Added
Weaknesses CWE-20
CWE-788

Thu, 24 Sep 2026 16:30:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: Bluetooth: RFCOMM: validate skb length in rfcomm_recv_frame rfcomm_recv_frame() casts skb->data to struct rfcomm_hdr and dereferences hdr->addr and hdr->ctrl without validating skb->len first. A truncated frame with skb->len less than the minimum header size causes an out-of-bounds read of uninitialized memory. Additionally, a zero-length frame causes skb->len-- to underflow to UINT_MAX, making skb_tail_pointer() read far past the buffer. Commit 23882b828c3c ("Bluetooth: RFCOMM: validate skb length in MCC handlers") fixed the same class of missing-length-check bugs in the MCC sub-handlers, but the top-level rfcomm_recv_frame() was left unfixed. KMSAN reports: BUG: KMSAN: uninit-value in rfcomm_run ... Uninit was created at: __alloc_skb+0x474/0xb60 vhci_write+0xe9/0x870 Fix this by rejecting frames smaller than sizeof(struct rfcomm_hdr) + 1 (the minimum frame must have a 3-byte header and a 1-byte FCS).
Title Bluetooth: RFCOMM: validate skb length in rfcomm_recv_frame
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-10-03T10:57:18.054Z

Reserved: 2026-09-18T17:59:28.788Z

Link: CVE-2026-93783

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-09-24T17:17:10.907

Modified: 2026-10-03T11:17:47.810

Link: CVE-2026-93783

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-09-25T07:30:16Z

Weaknesses
  • CWE-20

    Improper Input Validation

  • CWE-788

    Access of Memory Location After End of Buffer