CVE-2026-98457
In the Linux kernel, the following vulnerability has been resolved:
Bluetooth: L2CAP: validate frame length before control and FCS access
l2cap_data_rcv() unpacks either a two-byte or four-byte control field without first ensuring that it is present. A short ERTM or streaming-mode frame can therefore cause an out-of-bounds read.
There is a second short-frame case when CRC16 is enabled. After the control field is pulled, l2cap_check_fcs() subtracts two from skb->len without checking it. If fewer than two bytes remain, the subtraction wraps; skb_trim() leaves the buffer unchanged and the subsequent FCS load reads past the logical end of the frame.
Read full descriptionShow less
Validate that the frame contains both its control field and, when enabled, its FCS before either field is accessed.
CVSS
NVD hasn't assigned a CVSS score to this CVE (common since the April 2026 policy change).
Exploitation probability (EPSS)
- Probability of exploitation in the next 30 days
- 0.18 %
- Percentile among all scored CVEs
- 8
- Score date
- 10/21/2026
EPSS (Exploit Prediction Scoring System, FIRST) estimates how likely a vulnerability is to be exploited in the wild within 30 days. It complements CVSS (impact) and CISA KEV (confirmed exploitation).
Affected technologies (1)
⚠ AI-inferred from the description — NVD hasn't analyzed this CVE yet, these aren't verified CPEs.
References
Show 8 references
- https://git.kernel.org/stable/c/1fdbb2a712a9a162ee817c959740face80b3d929
- https://git.kernel.org/stable/c/3acf6a0038ec0d4e8f4dcbfc2a557dff5f61cb70
- https://git.kernel.org/stable/c/4373ba79a267947e771c438507f7b103e30bdb21
- https://git.kernel.org/stable/c/6c78a213d9070b610c7f418af2c25b66180b7e37
- https://git.kernel.org/stable/c/8c7556c7cd17e073bbefdc4a9a4694a207544c37
- https://git.kernel.org/stable/c/965bd88ed4b4763cb765dd65885adcfa588c6b14
- https://git.kernel.org/stable/c/c6a288e6001bcce16553c3853e0f5a45eaaf85c7
- https://git.kernel.org/stable/c/f557274af7b94b6134692e6f26b880f1e34c15bf
Raw JSON (NVD)
Show
{
"id": "CVE-2026-98457",
"cveTags": [],
"metrics": {},
"affected": [
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"affectedData": [
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"product": "Linux",
"versions": [
{
"status": "affected",
"version": "1c2acffb76d4bc5fd27c4ea55cc27ad8ead10f9a",
"lessThan": "4373ba79a267947e771c438507f7b103e30bdb21",
"versionType": "git"
},
{
"status": "affected",
"version": "1c2acffb76d4bc5fd27c4ea55cc27ad8ead10f9a",
"lessThan": "965bd88ed4b4763cb765dd65885adcfa588c6b14",
"versionType": "git"
},
{
"status": "affected",
"version": "1c2acffb76d4bc5fd27c4ea55cc27ad8ead10f9a",
"lessThan": "3acf6a0038ec0d4e8f4dcbfc2a557dff5f61cb70",
"versionType": "git"
},
{
"status": "affected",
"version": "1c2acffb76d4bc5fd27c4ea55cc27ad8ead10f9a",
"lessThan": "8c7556c7cd17e073bbefdc4a9a4694a207544c37",
"versionType": "git"
},
{
"status": "affected",
"version": "1c2acffb76d4bc5fd27c4ea55cc27ad8ead10f9a",
"lessThan": "1fdbb2a712a9a162ee817c959740face80b3d929",
"versionType": "git"
},
{
"status": "affected",
"version": "1c2acffb76d4bc5fd27c4ea55cc27ad8ead10f9a",
"lessThan": "c6a288e6001bcce16553c3853e0f5a45eaaf85c7",
"versionType": "git"
},
{
"status": "affected",
"version": "1c2acffb76d4bc5fd27c4ea55cc27ad8ead10f9a",
"lessThan": "f557274af7b94b6134692e6f26b880f1e34c15bf",
"versionType": "git"
},
{
"status": "affected",
"version": "1c2acffb76d4bc5fd27c4ea55cc27ad8ead10f9a",
"lessThan": "6c78a213d9070b610c7f418af2c25b66180b7e37",
"versionType": "git"
}
],
"programFiles": [
"net/bluetooth/l2cap_core.c"
],
"defaultStatus": "unaffected"
},
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"product": "Linux",
"versions": [
{
"status": "affected",
"version": "2.6.32"
},
{
"status": "unaffected",
"version": "0",
"lessThan": "2.6.32",
"versionType": "semver"
},
{
"status": "unaffected",
"version": "5.10.271",
"versionType": "semver",
"lessThanOrEqual": "5.10.*"
},
{
"status": "unaffected",
"version": "5.15.222",
"versionType": "semver",
"lessThanOrEqual": "5.15.*"
},
{
"status": "unaffected",
"version": "6.1.189",
"versionType": "semver",
"lessThanOrEqual": "6.1.*"
},
{
"status": "unaffected",
"version": "6.6.158",
"versionType": "semver",
"lessThanOrEqual": "6.6.*"
},
{
"status": "unaffected",
"version": "6.12.112",
"versionType": "semver",
"lessThanOrEqual": "6.12.*"
},
{
"status": "unaffected",
"version": "6.18.55",
"versionType": "semver",
"lessThanOrEqual": "6.18.*"
},
{
"status": "unaffected",
"version": "7.2.9",
"versionType": "semver",
"lessThanOrEqual": "7.2.*"
},
{
"status": "unaffected",
"version": "7.3",
"versionType": "original_commit_for_fix",
"lessThanOrEqual": "*"
}
],
"programFiles": [
"net/bluetooth/l2cap_core.c"
],
"defaultStatus": "affected"
}
]
}
],
"published": "2026-10-18T16:16:56.110",
"references": [
{
"url": "https://git.kernel.org/stable/c/1fdbb2a712a9a162ee817c959740face80b3d929",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/3acf6a0038ec0d4e8f4dcbfc2a557dff5f61cb70",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/4373ba79a267947e771c438507f7b103e30bdb21",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/6c78a213d9070b610c7f418af2c25b66180b7e37",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/8c7556c7cd17e073bbefdc4a9a4694a207544c37",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/965bd88ed4b4763cb765dd65885adcfa588c6b14",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/c6a288e6001bcce16553c3853e0f5a45eaaf85c7",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/f557274af7b94b6134692e6f26b880f1e34c15bf",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}
],
"vulnStatus": "Received",
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nBluetooth: L2CAP: validate frame length before control and FCS access\n\nl2cap_data_rcv() unpacks either a two-byte or four-byte control field\nwithout first ensuring that it is present. A short ERTM or streaming-mode\nframe can therefore cause an out-of-bounds read.\n\nThere is a second short-frame case when CRC16 is enabled. After the\ncontrol field is pulled, l2cap_check_fcs() subtracts two from skb->len\nwithout checking it. If fewer than two bytes remain, the subtraction\nwraps; skb_trim() leaves the buffer unchanged and the subsequent FCS\nload reads past the logical end of the frame.\n\nValidate that the frame contains both its control field and, when\nenabled, its FCS before either field is accessed."
}
],
"lastModified": "2026-10-19T10:18:55.100",
"sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}