CVE-2026-98457

Status: ReceivedUnscored—
Severity—Unscored
Exploitation probability0.18 %higher than 8% of CVEs
Active exploitationNonot in the CISA catalog
Public exploitNot knownno public code found

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

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"
}