CVE-2026-98728 (GCVE-0-2026-98728)
Vulnerability from cvelistv5
Published
2026-10-18 15:47
Modified
2026-10-19 09:24
Severity ?
Summary
In the Linux kernel, the following vulnerability has been resolved: tpm: fix off-by-four bounds check in tpm2_get_random() When the response carries the TPM2_ST_SESSIONS tag, tpm2_get_random() skips the 4-byte parameter size field before locating the random data, but the bounds check still validates the response length against TPM_HEADER_SIZE. A truncated response can pass the check and make memcpy() read up to 4 bytes past the response end, so stale buffer contents end up in the caller's random bytes. Fix this by checking the response length against 'offset', which already includes the skipped parameter size field.
Impacted products
Vendor Product Version
Linux Linux Version: 1b6d7f9eb150305dcb0da4f7101a8d30dcdf0497
Version: 1b6d7f9eb150305dcb0da4f7101a8d30dcdf0497
Version: 1b6d7f9eb150305dcb0da4f7101a8d30dcdf0497
Version: 1b6d7f9eb150305dcb0da4f7101a8d30dcdf0497
Create a notification for this product.
Show details on NVD website


{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/char/tpm/tpm2-cmd.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "be54101992c2c5218be0e0a87827ccc96e3089af",
              "status": "affected",
              "version": "1b6d7f9eb150305dcb0da4f7101a8d30dcdf0497",
              "versionType": "git"
            },
            {
              "lessThan": "e30a2406408d2df6d9cd48c2e59e913cf266a05a",
              "status": "affected",
              "version": "1b6d7f9eb150305dcb0da4f7101a8d30dcdf0497",
              "versionType": "git"
            },
            {
              "lessThan": "42bb6216b861e892512128219ff23010d656ba14",
              "status": "affected",
              "version": "1b6d7f9eb150305dcb0da4f7101a8d30dcdf0497",
              "versionType": "git"
            },
            {
              "lessThan": "9b522400bf5c082feb9a0037a053ea822a2c7e4d",
              "status": "affected",
              "version": "1b6d7f9eb150305dcb0da4f7101a8d30dcdf0497",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/char/tpm/tpm2-cmd.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "6.10"
            },
            {
              "lessThan": "6.10",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.113",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.18.*",
              "status": "unaffected",
              "version": "6.18.56",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "7.2.*",
              "status": "unaffected",
              "version": "7.2.10",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "7.3",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.113",
                  "versionStartIncluding": "6.10",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18.56",
                  "versionStartIncluding": "6.10",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.2.10",
                  "versionStartIncluding": "6.10",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.3",
                  "versionStartIncluding": "6.10",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\ntpm: fix off-by-four bounds check in tpm2_get_random()\n\nWhen the response carries the TPM2_ST_SESSIONS tag, tpm2_get_random()\nskips the 4-byte parameter size field before locating the random data,\nbut the bounds check still validates the response length against\nTPM_HEADER_SIZE.  A truncated response can pass the check and make\nmemcpy() read up to 4 bytes past the response end, so stale buffer\ncontents end up in the caller\u0027s random bytes.\n\nFix this by checking the response length against \u0027offset\u0027, which\nalready includes the skipped parameter size field."
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-10-19T09:24:38.853Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/be54101992c2c5218be0e0a87827ccc96e3089af"
        },
        {
          "url": "https://git.kernel.org/stable/c/e30a2406408d2df6d9cd48c2e59e913cf266a05a"
        },
        {
          "url": "https://git.kernel.org/stable/c/42bb6216b861e892512128219ff23010d656ba14"
        },
        {
          "url": "https://git.kernel.org/stable/c/9b522400bf5c082feb9a0037a053ea822a2c7e4d"
        }
      ],
      "title": "tpm: fix off-by-four bounds check in tpm2_get_random()",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-98728",
    "datePublished": "2026-10-18T15:47:05.722Z",
    "dateReserved": "2026-09-25T10:25:14.366Z",
    "dateUpdated": "2026-10-19T09:24:38.853Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2"
}


Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Sightings

Author Source Type Date

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
  • Confirmed: The vulnerability is confirmed from an analyst perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
  • Patched: This vulnerability was successfully patched by the user reporting the sighting.
  • Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
  • Not confirmed: The user expresses doubt about the veracity of the vulnerability.
  • Not patched: This vulnerability was not successfully patched by the user reporting the sighting.


Loading…

Loading…