CVE-2026-63864 (GCVE-0-2026-63864)

Vulnerability from cvelistv5 – Published: 2026-07-19 14:04 – Updated: 2026-08-05 12:36
VLAI
Title
bpf: Propagate error from visit_tailcall_insn
Summary
In the Linux kernel, the following vulnerability has been resolved: bpf: Propagate error from visit_tailcall_insn Commit e40f5a6bf88a ("bpf: correct stack liveness for tail calls") added visit_tailcall_insn() but did not check its return value.
Impacted products
Vendor Product Version CPE status
Linux Linux Affected: e40f5a6bf88a781d5f81bc6b8aab9ac31d8c98dd , < 945816e63c8677cf4bfde963a0774432ce8afc85 (git)
Affected: e40f5a6bf88a781d5f81bc6b8aab9ac31d8c98dd , < 6bd96e40f31dde8f8cd79772b4df0f171cf8a915 (git)
guessed Create a notification for this product.
Linux Linux Affected: 6.19
Unaffected: 0 , < 6.19 (semver)
Unaffected: 7.0.10 , ≤ 7.0.* (semver)
Unaffected: 7.1 , ≤ * (original_commit_for_fix)
guessed Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "kernel/bpf/verifier.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "945816e63c8677cf4bfde963a0774432ce8afc85",
              "status": "affected",
              "version": "e40f5a6bf88a781d5f81bc6b8aab9ac31d8c98dd",
              "versionType": "git"
            },
            {
              "lessThan": "6bd96e40f31dde8f8cd79772b4df0f171cf8a915",
              "status": "affected",
              "version": "e40f5a6bf88a781d5f81bc6b8aab9ac31d8c98dd",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "kernel/bpf/verifier.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "6.19"
            },
            {
              "lessThan": "6.19",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "7.0.*",
              "status": "unaffected",
              "version": "7.0.10",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "7.1",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.0.10",
                  "versionStartIncluding": "6.19",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.1",
                  "versionStartIncluding": "6.19",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nbpf: Propagate error from visit_tailcall_insn\n\nCommit e40f5a6bf88a (\"bpf: correct stack liveness for tail calls\") added\nvisit_tailcall_insn() but did not check its return value."
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "baseScore": 8.4,
            "baseSeverity": "HIGH",
            "vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H",
            "version": "3.1"
          },
          "scenarios": [
            {
              "lang": "en",
              "value": "AV:L - The bug is reached only through the bpf() syscall during BPF_PROG_LOAD verification (check_cfg/visit_insn), which is a local kernel interface per kernel CVSS guidance for BPF.\nAC:L - An attacker can craft a BPF program using tail calls and subprograms to hit visit_tailcall_insn(), and can pressure kernel memory (parallel BPF loads/maps) to make the small jt allocation fail while verification continues.\nPR:N - Exploitation occurs at BPF_PROG_LOAD time via bpf(); on systems with kernel.unprivileged_bpf_disabled=0, unprivileged users can load socket-filter programs with PROG_ARRAY maps and tail calls without CAP_BPF or root.\nUI:N - No victim interaction is required; the attacker triggers the flaw by loading a malicious BPF program through their own bpf() syscall.\nS:U - Impact is a BPF verifier bypass leading to kernel memory corruption and local privilege escalation within the same kernel security boundary, not a cross-authority escape such as VM guest-to-host.\nC:H - Incorrect tail-call stack liveness lets verifier-approved programs perform out-of-bounds stack reads at runtime, exposing adjacent kernel stack memory and enabling arbitrary kernel memory disclosure primitives.\nI:H - The verifier bypass permits out-of-bounds stack writes and type confusion on stack slots, which can be leveraged for control-flow hijacking and arbitrary kernel code execution from BPF context.\nA:H - Out-of-bounds BPF stack access can trigger kernel oops/panic during program execution, and repeated exploitation can be used for denial of service even when full exploitation is not attempted."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-05T12:36:40.261Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/945816e63c8677cf4bfde963a0774432ce8afc85"
        },
        {
          "url": "https://git.kernel.org/stable/c/6bd96e40f31dde8f8cd79772b4df0f171cf8a915"
        }
      ],
      "title": "bpf: Propagate error from visit_tailcall_insn",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-63864",
    "datePublished": "2026-07-19T14:04:50.605Z",
    "dateReserved": "2026-07-19T07:54:57.017Z",
    "dateUpdated": "2026-08-05T12:36:40.261Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2026-63864",
      "date": "2026-09-21",
      "epss": "0.00135",
      "percentile": "0.0331"
    },
    "nvd": {
      "cve": {
        "affected": [
          {
            "affectedData": [
              {
                "defaultStatus": "unaffected",
                "product": "Linux",
                "programFiles": [
                  "kernel/bpf/verifier.c"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "lessThan": "945816e63c8677cf4bfde963a0774432ce8afc85",
                    "status": "affected",
                    "version": "e40f5a6bf88a781d5f81bc6b8aab9ac31d8c98dd",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "6bd96e40f31dde8f8cd79772b4df0f171cf8a915",
                    "status": "affected",
                    "version": "e40f5a6bf88a781d5f81bc6b8aab9ac31d8c98dd",
                    "versionType": "git"
                  }
                ]
              },
              {
                "defaultStatus": "affected",
                "product": "Linux",
                "programFiles": [
                  "kernel/bpf/verifier.c"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "status": "affected",
                    "version": "6.19"
                  },
                  {
                    "lessThan": "6.19",
                    "status": "unaffected",
                    "version": "0",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "7.0.*",
                    "status": "unaffected",
                    "version": "7.0.10",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "*",
                    "status": "unaffected",
                    "version": "7.1",
                    "versionType": "original_commit_for_fix"
                  }
                ]
              }
            ],
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
          }
        ],
        "cveTags": [],
        "descriptions": [
          {
            "lang": "en",
            "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nbpf: Propagate error from visit_tailcall_insn\n\nCommit e40f5a6bf88a (\"bpf: correct stack liveness for tail calls\") added\nvisit_tailcall_insn() but did not check its return value."
          }
        ],
        "id": "CVE-2026-63864",
        "lastModified": "2026-07-27T17:44:23.777",
        "metrics": {
          "cvssMetricV31": [
            {
              "cvssData": {
                "attackComplexity": "LOW",
                "attackVector": "LOCAL",
                "availabilityImpact": "HIGH",
                "baseScore": 8.4,
                "baseSeverity": "HIGH",
                "confidentialityImpact": "HIGH",
                "integrityImpact": "HIGH",
                "privilegesRequired": "NONE",
                "scope": "UNCHANGED",
                "userInteraction": "NONE",
                "vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H",
                "version": "3.1"
              },
              "exploitabilityScore": 2.5,
              "impactScore": 5.9,
              "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
              "type": "Secondary"
            }
          ]
        },
        "published": "2026-07-19T15:16:53.303",
        "references": [
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/6bd96e40f31dde8f8cd79772b4df0f171cf8a915"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/945816e63c8677cf4bfde963a0774432ce8afc85"
          }
        ],
        "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "vulnStatus": "Awaiting Analysis"
      }
    },
    "redhat_vex": {
      "aggregate_severity": "Moderate",
      "current_release_date": "2026-07-22T07:06:12+00:00",
      "cve": "CVE-2026-63864",
      "id": "CVE-2026-63864",
      "initial_release_date": "2026-07-19T00:00:00+00:00",
      "product_status:known_affected": "76",
      "product_status:known_not_affected": "198",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: bpf: Propagate error from visit_tailcall_insn",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-63864.json",
      "version": "3"
    },
    "suse_vex": {
      "aggregate_severity": "moderate",
      "current_release_date": "2026-09-15T01:58:43Z",
      "cve": "CVE-2026-63864",
      "id": "CVE-2026-63864",
      "initial_release_date": "2026-07-24T16:21:44Z",
      "product_status:known_affected": "29",
      "product_status:known_not_affected": "347",
      "source": "SUSE CSAF VEX",
      "status": "interim",
      "title": "SUSE CVE CVE-2026-63864",
      "url": "https://ftp.suse.com/pub/projects/security/csaf-vex/cve-2026-63864.json",
      "version": "4"
    }
  }
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

Sightings

Author Source Type Date Other

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.

Loading…

Loading…

Loading…

Related by attack behaviour

Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.


Loading…