PT-2026-116819 · Linux · Linux

CVE-2026-98600

·

Published

2026-10-18

·

Updated

2026-10-18

None

No severity ratings or metrics are available. When they are, we'll update the corresponding info on the page.
In the Linux kernel, the following vulnerability has been resolved:
Bluetooth: RFCOMM: Reject short EA=0 frames in rfcomm recv frame()
While rfcomm recv frame() verifies that skb->len is at least sizeof(*hdr) + 1 (4 bytes: 3-byte header + 1-byte FCS), an RFCOMM frame with an extended 2-byte length field (! test ea(hdr->len)) has a 4-byte header plus a 1-byte FCS (5 bytes minimum, sizeof(*hdr) + 2).
When a 4-byte RFCOMM frame with EA == 0 arrives:
  1. The initial skb->len < sizeof(*hdr) + 1 check passes (4 < 4 is false).
  2. Trimming the FCS byte decrements skb->len to 3.
  3. If check fcs() succeeds, skb pull(skb, 4) fails (4 > 3) and returns NULL without advancing skb->data.
  4. Because the return value of skb pull() is ignored, the un-pulled 3-byte struct rfcomm hdr remains at skb->data and is either queued as application payload via rfcomm recv data() or parsed as a multiplexer control command via rfcomm recv mcc() on DLCI 0.
Fix this by extending the length check in rfcomm recv frame() to also require skb->len >= sizeof(*hdr) + 2 when ! test ea(hdr->len).
Found an issue in the description? Have something to add? Feel free to write us 👾

Related Identifiers

CVE-2026-98600

Affected Products

Linux