← Back to CVE Explorer

CVE-2026-93148

Full vulnerability record from the local CVENow database.

Description

In the Linux kernel, the following vulnerability has been resolved: bpf: Reject MEM_ALLOC BTF accesses past object bounds BTF struct walks relax the struct-size check for accesses through a trailing flexible array. That is valid for ordinary BTF type walking, but PTR_TO_BTF_ID | MEM_ALLOC values point to objects allocated with the static BTF type size. When walking a MEM_ALLOC object, reject the access before applying the flexible-array relaxation if the access range extends past the struct size. Apply the same policy to struct ID matching so kfunc and kptr type checks do not walk past the allocated object bounds either.

Severity
HIGH
CVSS score
7.8 (v3.1)
Vulnerability status
Received
Source identifier
416baaa9-dc9f-4396-8d5f-8c081fb06d67
Published
2026-09-17 17:18:09.977000
Last modified
2026-10-21 13:21:00.843000
View original CVE JSON
{
  "id": "CVE-2026-93148",
  "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
  "published": "2026-09-17T17:18:09.977",
  "lastModified": "2026-10-21T13:21:00.843",
  "vulnStatus": "Received",
  "cveTags": [],
  "descriptions": [
    {
      "lang": "en",
      "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nbpf: Reject MEM_ALLOC BTF accesses past object bounds\n\nBTF struct walks relax the struct-size check for accesses through a\ntrailing flexible array. That is valid for ordinary BTF type walking, but\nPTR_TO_BTF_ID | MEM_ALLOC values point to objects allocated with the static\nBTF type size.\n\nWhen walking a MEM_ALLOC object, reject the access before applying the\nflexible-array relaxation if the access range extends past the struct size.\nApply the same policy to struct ID matching so kfunc and kptr type checks\ndo not walk past the allocated object bounds either."
    }
  ],
  "affected": [
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "affectedData": [
        {
          "vendor": "Linux",
          "product": "Linux",
          "defaultStatus": "unaffected",
          "programFiles": [
            "include/linux/bpf.h",
            "kernel/bpf/btf.c",
            "kernel/bpf/verifier.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "versions": [
            {
              "version": "958cf2e273f0929c66169e0788031310e8118722",
              "lessThan": "94033c193bc38794511b2ebfa3dc0287d3b2bf60",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "958cf2e273f0929c66169e0788031310e8118722",
              "lessThan": "90d36e825da4fadeede64784ceda975ab7b31dab",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "958cf2e273f0929c66169e0788031310e8118722",
              "lessThan": "cf08ff2255de98cfcbc8bf7236fbeb38f0d5b4f1",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "958cf2e273f0929c66169e0788031310e8118722",
              "lessThan": "e626a50d07d43421cbf7bfb5a084b33a5e276b6e",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "958cf2e273f0929c66169e0788031310e8118722",
              "lessThan": "9c9ee0324c774490ae953162aaaf4561d222bd93",
              "versionType": "git",
              "status": "affected"
            }
          ]
        },
        {
          "vendor": "Linux",
          "product": "Linux",
          "defaultStatus": "affected",
          "programFiles": [
            "include/linux/bpf.h",
            "kernel/bpf/btf.c",
            "kernel/bpf/verifier.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "versions": [
            {
              "version": "6.2",
              "status": "affected"
            },
            {
              "version": "0",
              "lessThan": "6.2",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "6.6.160",
              "lessThanOrEqual": "6.6.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "6.12.114",
              "lessThanOrEqual": "6.12.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "6.18.57",
              "lessThanOrEqual": "6.18.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "7.2.6",
              "lessThanOrEqual": "7.2.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "7.3",
              "lessThanOrEqual": "*",
              "versionType": "original_commit_for_fix",
              "status": "unaffected"
            }
          ]
        }
      ]
    }
  ],
  "metrics": {
    "cvssMetricV31": [
      {
        "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "type": "Secondary",
        "cvssData": {
          "version": "3.1",
          "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
          "baseScore": 7.8,
          "baseSeverity": "HIGH",
          "attackVector": "LOCAL",
          "attackComplexity": "LOW",
          "privilegesRequired": "LOW",
          "userInteraction": "NONE",
          "scope": "UNCHANGED",
          "confidentialityImpact": "HIGH",
          "integrityImpact": "HIGH",
          "availabilityImpact": "HIGH"
        },
        "exploitabilityScore": 1.8,
        "impactScore": 5.9
      }
    ]
  },
  "references": [
    {
      "url": "https://git.kernel.org/stable/c/90d36e825da4fadeede64784ceda975ab7b31dab",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/94033c193bc38794511b2ebfa3dc0287d3b2bf60",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/9c9ee0324c774490ae953162aaaf4561d222bd93",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/cf08ff2255de98cfcbc8bf7236fbeb38f0d5b4f1",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/e626a50d07d43421cbf7bfb5a084b33a5e276b6e",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    }
  ]
}