GHSA-HPGR-CQMV-PHP2
Vulnerability from github – Published: 2026-10-18 18:31 – Updated: 2026-10-18 18:31In 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).
{
"affected": [],
"aliases": [
"CVE-2026-98600"
],
"database_specific": {
"cwe_ids": [],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2026-10-18T16:17:12Z",
"severity": null
},
"details": "In the Linux kernel, the following vulnerability has been resolved:\n\nBluetooth: RFCOMM: Reject short EA=0 frames in rfcomm_recv_frame()\n\nWhile rfcomm_recv_frame() verifies that skb-\u003elen is at least\nsizeof(*hdr) + 1 (4 bytes: 3-byte header + 1-byte FCS), an RFCOMM frame\nwith an extended 2-byte length field (!__test_ea(hdr-\u003elen)) has a 4-byte\nheader plus a 1-byte FCS (5 bytes minimum, sizeof(*hdr) + 2).\n\nWhen a 4-byte RFCOMM frame with EA == 0 arrives:\n1. The initial skb-\u003elen \u003c sizeof(*hdr) + 1 check passes (4 \u003c 4 is false).\n2. Trimming the FCS byte decrements skb-\u003elen to 3.\n3. If __check_fcs() succeeds, skb_pull(skb, 4) fails (4 \u003e 3) and returns\n NULL without advancing skb-\u003edata.\n4. Because the return value of skb_pull() is ignored, the un-pulled\n 3-byte struct rfcomm_hdr remains at skb-\u003edata and is either queued as\n application payload via rfcomm_recv_data() or parsed as a multiplexer\n control command via rfcomm_recv_mcc() on DLCI 0.\n\nFix this by extending the length check in rfcomm_recv_frame() to also\nrequire skb-\u003elen \u003e= sizeof(*hdr) + 2 when !__test_ea(hdr-\u003elen).",
"id": "GHSA-hpgr-cqmv-php2",
"modified": "2026-10-18T18:31:56Z",
"published": "2026-10-18T18:31:56Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2026-98600"
},
{
"type": "WEB",
"url": "https://git.kernel.org/stable/c/6d91041bb38b97e2feb625123cc0529d7b83a0e1"
},
{
"type": "WEB",
"url": "https://git.kernel.org/stable/c/71ccacde407b7d8f0ef48974a0d2524602fd5c44"
},
{
"type": "WEB",
"url": "https://git.kernel.org/stable/c/76876fd26569302d26d91cbe8b75fa8e66cf8969"
},
{
"type": "WEB",
"url": "https://git.kernel.org/stable/c/7a1781a2f3a9667b3065d402d1f11986a2363e08"
},
{
"type": "WEB",
"url": "https://git.kernel.org/stable/c/9240fc1f2cde5331c61608da21b00394602ca762"
},
{
"type": "WEB",
"url": "https://git.kernel.org/stable/c/97711b964877242933484989224a3c4c5d88a5ee"
},
{
"type": "WEB",
"url": "https://git.kernel.org/stable/c/be00deee60044ffa820f9436415caeb665b2cda0"
},
{
"type": "WEB",
"url": "https://git.kernel.org/stable/c/c25587fa26761e623198b4f47151fe79d09ccde6"
}
],
"schema_version": "1.4.0",
"severity": []
}
Drag nodes to arrange them. Double-click a related vulnerability to open it, or a source to visit its link. The Physics button on the left tunes the layout and the simulation; the legend at the bottom left hides or shows nodes by kind and by sighting type.
Sightings
| Author | Source | Type | Date | Other |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.
Vulnerability timeline
Sightings and recorded dates, grouped by day · UTC
Loading timeline…
The approach is described in our paper Mapping CVEs to MITRE ATT&CK Techniques: A Curated Gold-Set Classifier and the Limits of LLM-Assisted Label Expansion.
Browse all ATT&CK techniques and the vulnerabilities related to each.
Related by attack behaviour
Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.