{
  "schemaVersion": 1,
  "attribution": [
    {
      "source": "CISA Known Exploited Vulnerabilities",
      "url": "https://www.cisa.gov/known-exploited-vulnerabilities-catalog",
      "licence": "US government work"
    },
    {
      "source": "GitHub Advisory Database",
      "url": "https://github.com/advisories",
      "licence": "CC BY 4.0"
    },
    {
      "source": "Have I Been Pwned",
      "url": "https://haveibeenpwned.com/",
      "licence": "CC BY 4.0"
    },
    {
      "source": "CVE Program (CVE records)",
      "url": "https://www.cve.org/Legal/TermsOfUse",
      "licence": "CVE Terms of Use",
      "notice": "Copyright © 1999-2026, The MITRE Corporation. CVE is a trademark and the CVE logo is a registered trademark of The MITRE Corporation.",
      "terms": "CVE Usage: MITRE hereby grants you a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute Common Vulnerabilities and Exposures (CVE™). Any copy you make for such purposes is authorized provided that you reproduce MITRE's copyright designation and this license in any such copy."
    },
    {
      "source": "FIRST EPSS",
      "url": "https://www.first.org/epss/",
      "licence": "free to use; FIRST requests attribution"
    }
  ],
  "record": {
    "id": "CVE-2026-31393",
    "sourceURL": "https://www.cve.org/CVERecord?id=CVE-2026-31393",
    "idYear": 2026,
    "status": "PUBLISHED",
    "publishedAt": "2026-04-03T15:15:58.142Z",
    "updatedAt": "2026-10-19T18:35:46.203Z",
    "importedAt": "2026-10-24T01:58:02.025Z",
    "snapshot": {
      "id": "cve_2026-10-24_midnight_baseline",
      "at": "2026-10-24T00:00:00.000Z",
      "source": "https://github.com/CVEProject/cvelistV5/releases/tag/cve_2026-10-24_0100Z"
    },
    "facts": {
      "title": "Bluetooth: L2CAP: Validate L2CAP_INFO_RSP payload length before access",
      "summary": "In the Linux kernel, the following vulnerability has been resolved:\n\nBluetooth: L2CAP: Validate L2CAP_INFO_RSP payload length before access\n\nl2cap_information_rsp() checks that cmd_len covers the fixed\nl2cap_info_rsp header (type + result, 4 bytes) but then reads\nrsp->data without verifying that the payload is present:\n\n - L2CAP_IT_FEAT_MASK calls get_unaligned_le32(rsp->data), which reads\n   4 bytes past the header (needs cmd_len >= 8).\n\n - L2CAP_IT_FIXED_CHAN reads rsp->data[0], 1 byte past the header\n   (needs cmd_len >= 5).\n\nA truncated L2CAP_INFO_RSP with result == L2CAP_IR_SUCCESS triggers an\nout-of-bounds read of adjacent skb data.\n\nGuard each data access with the required payload length check.  If the\npayload is too short, skip the read and let the state machine complete\nwith safe defaults (feat_mask and remote_fixed_chan remain zero from\nkzalloc), so the info timer cleanup and l2cap_conn_start() still run\nand the connection is not stalled.",
      "affected": [
        {
          "vendor": "Linux",
          "product": "Linux",
          "defaultStatus": "unaffected",
          "versions": [
            {
              "version": "4e8402a3f884427f9233ba436459c158d1f2e114",
              "status": "affected",
              "versionType": "git",
              "lessThan": "187e6fe939295be36063a1d91f8bebee04399a8c"
            },
            {
              "version": "4e8402a3f884427f9233ba436459c158d1f2e114",
              "status": "affected",
              "versionType": "git",
              "lessThan": "5229e7d15771eac2b5886bfb1f976aea0c1eec14"
            },
            {
              "version": "4e8402a3f884427f9233ba436459c158d1f2e114",
              "status": "affected",
              "versionType": "git",
              "lessThan": "3b646516cba2ebc4b51a72954903326e7c1e443f"
            },
            {
              "version": "4e8402a3f884427f9233ba436459c158d1f2e114",
              "status": "affected",
              "versionType": "git",
              "lessThan": "807bd1258453c4c83f6ae9dbc1e7b44860ff40d0"
            },
            {
              "version": "4e8402a3f884427f9233ba436459c158d1f2e114",
              "status": "affected",
              "versionType": "git",
              "lessThan": "9aeacde4da0f02d42fd968fd32f245828b230171"
            },
            {
              "version": "4e8402a3f884427f9233ba436459c158d1f2e114",
              "status": "affected",
              "versionType": "git",
              "lessThan": "e7ff754e339e3d5ce29aa9f95352d0186df8fbd9"
            },
            {
              "version": "4e8402a3f884427f9233ba436459c158d1f2e114",
              "status": "affected",
              "versionType": "git",
              "lessThan": "db2872d054e467810078e2b9f440a5b326a601b2"
            },
            {
              "version": "4e8402a3f884427f9233ba436459c158d1f2e114",
              "status": "affected",
              "versionType": "git",
              "lessThan": "dd815e6e3918dc75a49aaabac36e4f024d675101"
            }
          ]
        },
        {
          "vendor": "Linux",
          "product": "Linux",
          "defaultStatus": "affected",
          "versions": [
            {
              "version": "2.6.24",
              "status": "affected"
            },
            {
              "version": "0",
              "status": "unaffected",
              "versionType": "semver",
              "lessThan": "2.6.24"
            },
            {
              "version": "5.10.253",
              "status": "unaffected",
              "versionType": "semver",
              "lessThanOrEqual": "5.10.*"
            },
            {
              "version": "5.15.203",
              "status": "unaffected",
              "versionType": "semver",
              "lessThanOrEqual": "5.15.*"
            },
            {
              "version": "6.1.167",
              "status": "unaffected",
              "versionType": "semver",
              "lessThanOrEqual": "6.1.*"
            },
            {
              "version": "6.6.130",
              "status": "unaffected",
              "versionType": "semver",
              "lessThanOrEqual": "6.6.*"
            },
            {
              "version": "6.12.78",
              "status": "unaffected",
              "versionType": "semver",
              "lessThanOrEqual": "6.12.*"
            },
            {
              "version": "6.18.20",
              "status": "unaffected",
              "versionType": "semver",
              "lessThanOrEqual": "6.18.*"
            },
            {
              "version": "6.19.10",
              "status": "unaffected",
              "versionType": "semver",
              "lessThanOrEqual": "6.19.*"
            },
            {
              "version": "7.0",
              "status": "unaffected",
              "versionType": "original_commit_for_fix",
              "lessThanOrEqual": "*"
            }
          ]
        }
      ]
    }
  }
}