CVE-2026-98600

Bluetooth: RFCOMM: Reject short EA=0 frames in rfcomm_recv_frame()

State
Published
Severity
Not scored
Published
Oct 18, 2026
Updated
Oct 19, 2026
Reserved
Sep 25, 2026

Read the record on cve.org

Description

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).

Scores

The record has no CVSS score.

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • fb40eda15122f6b780228639c1ead6820340ff54 to before 76876fd26569302d26d91cbe8b75fa8e66cf8969Affected
  • 3829af5fab5a22405bf1e7d69068c2ec0fce46ca to before 97711b964877242933484989224a3c4c5d88a5eeAffected
  • b161eacd7fa4a2d765724b5504ac6cc388e48f80 to before 7a1781a2f3a9667b3065d402d1f11986a2363e08Affected
  • 30d1d9f3495463f7c026e4c553127f79b486fcd6 to before c25587fa26761e623198b4f47151fe79d09ccde6Affected
  • 67dc3b40fae71b6b11c71e7ff69bac0758818c05 to before 71ccacde407b7d8f0ef48974a0d2524602fd5c44Affected
  • bbc310caa2b6bf5fe42896ba27da0fbc12e4ac51 to before be00deee60044ffa820f9436415caeb665b2cda0Affected
  • b230e5bf501c5edaf2eb0991cb862ac142031d4b to before 9240fc1f2cde5331c61608da21b00394602ca762Affected
  • b230e5bf501c5edaf2eb0991cb862ac142031d4b to before 6d91041bb38b97e2feb625123cc0529d7b83a0e1Affected
  • 6.12.111 to before 6.12.112Affected
  • 6.18.53 to before 6.18.55Affected
LinuxLinux
  • 7.2Affected
  • before 7.2Not affected
  • 6.12.112 through 6.12.*Not affected
  • 6.18.55 through 6.18.*Not affected
  • 7.2.9 through 7.2.*Not affected
  • 7.3 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.