← Back to CVE Explorer

CVE-2026-98085

Full vulnerability record from the local CVENow database.

Description

In the Linux kernel, the following vulnerability has been resolved: bpf: backtrack_insn(): Handle ld_{abs,ind} subprog exit edge Nicholas Carlini reported a bug in precision backtracking mechanism for BPF_LD | BPF_{IND,ABS} instructions. These instructions are modelled as two branches: - fallthrough; - implicit exit from current subprogram. The implicit exit case was not handled by the backtrack_insn() function. When backtracking such a path backtrack_insn() did not call bt_subprog_enter(), which meant that backtracking continued manipulating precision marks in a caller frame, while looking at instructions in a callee frame. This lead to segmentation faults during verification (see the selftest), or unsound state pruning.

Severity
Not scored
CVSS score
Not available
Vulnerability status
Undergoing Analysis
Source identifier
416baaa9-dc9f-4396-8d5f-8c081fb06d67
Published
2026-09-25 11:17:38.087000
Last modified
2026-10-21 13:21:22.137000
View original CVE JSON
{
  "id": "CVE-2026-98085",
  "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
  "published": "2026-09-25T11:17:38.087",
  "lastModified": "2026-10-21T13:21:22.137",
  "vulnStatus": "Undergoing Analysis",
  "cveTags": [],
  "descriptions": [
    {
      "lang": "en",
      "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nbpf: backtrack_insn(): Handle ld_{abs,ind} subprog exit edge\n\nNicholas Carlini reported a bug in precision backtracking mechanism\nfor BPF_LD | BPF_{IND,ABS} instructions. These instructions are\nmodelled as two branches:\n- fallthrough;\n- implicit exit from current subprogram.\n\nThe implicit exit case was not handled by the backtrack_insn()\nfunction. When backtracking such a path backtrack_insn() did not\ncall bt_subprog_enter(), which meant that backtracking continued\nmanipulating precision marks in a caller frame, while looking at\ninstructions in a callee frame.\n\nThis lead to segmentation faults during verification (see the\nselftest), or unsound state pruning."
    }
  ],
  "affected": [
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "affectedData": [
        {
          "vendor": "Linux",
          "product": "Linux",
          "defaultStatus": "unaffected",
          "programFiles": [
            "kernel/bpf/backtrack.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "versions": [
            {
              "version": "37ad2bb11e9de92cb7b94548705eeedd87f7d392",
              "lessThan": "19cca7c36055906b3cff3e297618ee8a50cde25d",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "8674e2db06cff6b50f2216eed9a761d15425bb34",
              "lessThan": "12c064bcfa56e3631be9f5336ee113b7f849959a",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "ce01a4e5cfac7adbe0be565f90cd32ecbb2f8337",
              "lessThan": "a0cd9e22f8faed30a8da8be357c51bd8b3074ee9",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "ee861486e377edc55361c08dcbceab3f6b6577bd",
              "lessThan": "671b7b9a660ef15b25faa3df161205b9dc8d1eb2",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "ee861486e377edc55361c08dcbceab3f6b6577bd",
              "lessThan": "387b1baefbb776e3f48dc2261e77a49213f470f7",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "928d354ae3557e8f755a227e67be88034eb3cd7f",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "8a800497d9f6c2ec9c2c1ba7b71d0ac2ea7f7bbe",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "de1055e7f9e67af32b1f3376066272b04e5223c0",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "d846d83bdacbd8f14fc45c63b8c1d22608452e1c",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "6.6.148",
              "lessThan": "6.6.160",
              "versionType": "semver",
              "status": "affected"
            },
            {
              "version": "6.12.101",
              "lessThan": "6.12.114",
              "versionType": "semver",
              "status": "affected"
            },
            {
              "version": "6.18.42",
              "lessThan": "6.18.57",
              "versionType": "semver",
              "status": "affected"
            },
            {
              "version": "5.10.265",
              "lessThan": "5.11",
              "versionType": "semver",
              "status": "affected"
            },
            {
              "version": "5.15.216",
              "lessThan": "5.16",
              "versionType": "semver",
              "status": "affected"
            },
            {
              "version": "6.1.183",
              "lessThan": "6.2",
              "versionType": "semver",
              "status": "affected"
            },
            {
              "version": "7.0.10",
              "lessThan": "7.1",
              "versionType": "semver",
              "status": "affected"
            }
          ]
        },
        {
          "vendor": "Linux",
          "product": "Linux",
          "defaultStatus": "affected",
          "programFiles": [
            "kernel/bpf/backtrack.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "versions": [
            {
              "version": "7.1",
              "status": "affected"
            },
            {
              "version": "0",
              "lessThan": "7.1",
              "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.7",
              "lessThanOrEqual": "7.2.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "7.3",
              "lessThanOrEqual": "*",
              "versionType": "original_commit_for_fix",
              "status": "unaffected"
            }
          ]
        }
      ]
    }
  ],
  "metrics": {},
  "references": [
    {
      "url": "https://git.kernel.org/stable/c/12c064bcfa56e3631be9f5336ee113b7f849959a",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/19cca7c36055906b3cff3e297618ee8a50cde25d",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/387b1baefbb776e3f48dc2261e77a49213f470f7",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/671b7b9a660ef15b25faa3df161205b9dc8d1eb2",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/a0cd9e22f8faed30a8da8be357c51bd8b3074ee9",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    }
  ]
}