Skip to content
Heist/ feed
Back to feed
Unrated

perf/core: Check kernel access when kernel callchains are requested

Type: advisorySources: Official CVE List

In the Linux kernel, the following vulnerability has been resolved: perf/core: Check kernel access when kernel callchains are requested perf_event_open() currently gates perf_allow_kernel() only on !attr.exclude_kernel. However, users can still request kernel callchain collection with attr.exclude_callchain_kernel == 0 even when attr.exclude_kernel == 1. That still requires kernel profiling privilege, but the existing check does not enforce it. Update the permission check to call perf_allow_kernel() when either kernel sampling is requested or kernel callchains are requested. This keeps permission checks aligned with requested data and prevents unprivileged use of kernel callchain capture.

Products
Linux
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-98937
Confirmed fixed CVEs
Not specified
Updated in this feed
29 Oct 2026, 18:04 UTC · Revision 2

Source evidence

perf/core: Check kernel access when kernel callchains are requested

core-cve · Original source

Published 23 Oct 2026, 12:11 UTC

In the Linux kernel, the following vulnerability has been resolved: perf/core: Check kernel access when kernel callchains are requested perf_event_open() currently gates perf_allow_kernel() only on !attr.exclude_kernel. However, users can still request kernel callchain collection with attr.exclude_callchain_kernel == 0 even when attr.exclude_kernel == 1. That still requires kernel profiling privilege, but the existing check does not enforce it. Update the permission check to call perf_allow_kernel() when either kernel sampling is requested or kernel callchains are requested. This keeps permission checks aligned with requested data and prevents unprivileged use of kernel callchain capture.

cve:CVE-2026-98937

Linux

Fixed versions: Not specified

Linux

Fixed versions: Not specified

Complete source record
{
  "id": "1e2aea06d498d8b167f4aeb89a7d785cdb472aaca90ec4d552a1ac0902422681",
  "url": "https://www.cve.org/CVERecord?id=CVE-2026-98937",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "perf/core: Check kernel access when kernel callchains are requested",
    "summary": "In the Linux kernel, the following vulnerability has been resolved: perf/core: Check kernel access when kernel callchains are requested perf_event_open() currently gates perf_allow_kernel() only on !attr.exclude_kernel. However, users can still request kernel callchain collection with attr.exclude_callchain_kernel == 0 even when attr.exclude_kernel == 1. That still requires kernel profiling privilege, but the existing check does not enforce it. Update the permission check to call perf_allow_kernel() when either kernel sampling is requested or kernel callchains are requested. This keeps permission checks aligned with requested data and prevents unprivileged use of kernel callchain capture.",
    "evidence": "cve:CVE-2026-98937",
    "products": [
      {
        "name": {
          "value": "Linux",
          "evidence": "/containers/cna/affected/0/product"
        },
        "prerequisites": [],
        "fixed_versions": [],
        "affected_versions": []
      },
      {
        "name": {
          "value": "Linux",
          "evidence": "/containers/cna/affected/1/product"
        },
        "prerequisites": [],
        "fixed_versions": [],
        "affected_versions": []
      }
    ],
    "severity": "unknown",
    "structured": {
      "id": "CVE-2026-98937",
      "aliases": [
        "CVE-2026-98937"
      ],
      "metrics": [],
      "affected": [
        {
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "product": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "0764771dab80d7b84b9a271bee7f1b21a04a3f0c",
              "lessThan": "132bee76097be421ab3012130b5b506324cf2be1",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "0764771dab80d7b84b9a271bee7f1b21a04a3f0c",
              "lessThan": "2581b43e162cfc43e6f5d8dd8d2b38f3441550de",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "0764771dab80d7b84b9a271bee7f1b21a04a3f0c",
              "lessThan": "6e187281f978a2bff98ead6aa40f8ddc9a2c9afb",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "0764771dab80d7b84b9a271bee7f1b21a04a3f0c",
              "lessThan": "a4573a3838ae4fc73b70019cfa1dac9aaea7cc2f",
              "versionType": "git"
            }
          ],
          "programFiles": [
            "kernel/events/core.c"
          ],
          "defaultStatus": "unaffected"
        },
        {
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "product": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "2.6.31"
            },
            {
              "status": "unaffected",
              "version": "0",
              "lessThan": "2.6.31",
              "versionType": "semver"
            },
            {
              "status": "unaffected",
              "version": "6.12.113",
              "versionType": "semver",
              "lessThanOrEqual": "6.12.*"
            },
            {
              "status": "unaffected",
              "version": "6.18.56",
              "versionType": "semver",
              "lessThanOrEqual": "6.18.*"
            },
            {
              "status": "unaffected",
              "version": "7.2.10",
              "versionType": "semver",
              "lessThanOrEqual": "7.2.*"
            },
            {
              "status": "unaffected",
              "version": "7.3",
              "versionType": "original_commit_for_fix",
              "lessThanOrEqual": "*"
            }
          ],
          "programFiles": [
            "kernel/events/core.c"
          ],
          "defaultStatus": "affected"
        }
      ],
      "modified": "2026-10-26T06:56:51.396Z",
      "provider": "cve",
      "references": [
        "https://git.kernel.org/stable/c/132bee76097be421ab3012130b5b506324cf2be1",
        "https://git.kernel.org/stable/c/2581b43e162cfc43e6f5d8dd8d2b38f3441550de",
        "https://git.kernel.org/stable/c/6e187281f978a2bff98ead6aa40f8ddc9a2c9afb",
        "https://git.kernel.org/stable/c/a4573a3838ae4fc73b70019cfa1dac9aaea7cc2f"
      ],
      "provider_metadata": {
        "cna": {
          "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
          "shortName": "Linux",
          "dateUpdated": "2026-10-26T06:56:51.396Z"
        }
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-98937",
        "evidence": "/cveMetadata/cveId"
      }
    ],
    "security_relevant": true,
    "severity_evidence": null
  },
  "source_id": "core-cve",
  "document_id": 263377,
  "published_at": "2026-10-23T12:11:53.327+00:00"
}