GCVE Workshop - 22 September 2026 (14:00-18:00), Luxembourg Before The Vulnopticon Conference - Registration

CVE-2026-72325 (GCVE-0-2026-72325)

Vulnerability from cvelistv5 – Published: 2026-08-15 05:55 – Updated: 2026-08-17 05:12
VLAI
Title
perf/x86/amd/core: Avoid enabling BRS from the SVM reload path
Summary
In the Linux kernel, the following vulnerability has been resolved: perf/x86/amd/core: Avoid enabling BRS from the SVM reload path Branch Sampling (BRS) and Last Branch Record (LBR) are mutually exclusive hardware features, and users of both are tracked via cpuc->lbr_users. When SVM is toggled on a CPU, the host perf events are reprogrammed to update the HostOnly filter bit (set when virtualization is enabled, cleared when it is disabled). On PerfMonV2-capable processors, this reprogramming is performed by calling amd_pmu_enable_all() to rewrite the event selectors. However, amd_pmu_enable_all() also calls amd_brs_enable_all(), which enables BRS whenever cpuc->lbr_users > 0. Having active LBR events satisfies this gating on processors that have LBR but not BRS. The kernel then tries to set the BRS enable bit in DebugExtnCfg (MSR 0xc000010f). Since that bit is deprecated on such hardware, the write results in a #GP: Call Trace: <IRQ> amd_pmu_enable_all+0x1d/0x90 amd_pmu_disable_virt+0x62/0xb0 kvm_arch_disable_virtualization_cpu+0xa/0x40 [kvm] hardware_disable_nolock+0x1a/0x30 [kvm] __flush_smp_call_function_queue+0x9b/0x410 __sysvec_call_function+0x18/0xc0 sysvec_call_function+0x69/0x90 </IRQ> <TASK> asm_sysvec_call_function+0x16/0x20 RIP: 0010:cpuidle_enter_state+0xc4/0x450 ? cpuidle_enter_state+0xb7/0x450 cpuidle_enter+0x29/0x40 cpuidle_idle_call+0xf5/0x160 do_idle+0x7b/0xe0 cpu_startup_entry+0x26/0x30 start_secondary+0x115/0x140 secondary_startup_64_no_verify+0x194/0x19b </TASK> Fix this by ensuring that BRS is not enabled from the event selector reprogramming path even when cpuc->lbr_users > 0.
Severity
No CVSS data available.
Impacted products
Vendor Product Version CPE status
Linux Linux Affected: bae19fdd7e9e759580ac4693d2df3bc23ab415d7 , < e9b1a7411a667539c2f55e720bbb5f623b526a32 (git)
Affected: bae19fdd7e9e759580ac4693d2df3bc23ab415d7 , < 7cc438c99bba324a0562b1bafa747b10f7e251df (git)
Affected: bae19fdd7e9e759580ac4693d2df3bc23ab415d7 , < 46d0fd8535edce31f15e48d2de1bdee39a4850e5 (git)
Affected: bae19fdd7e9e759580ac4693d2df3bc23ab415d7 , < 07c60dda9c059c09f83d42a3ebda2e7cc1cf3bc2 (git)
guessed Create a notification for this product.
Linux Linux Affected: 5.19
Unaffected: 0 , < 5.19 (semver)
Unaffected: 6.12.97 , ≤ 6.12.* (semver)
Unaffected: 6.18.40 , ≤ 6.18.* (semver)
Unaffected: 7.1.5 , ≤ 7.1.* (semver)
Unaffected: 7.2 , ≤ * (original_commit_for_fix)
guessed Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "arch/x86/events/amd/core.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "e9b1a7411a667539c2f55e720bbb5f623b526a32",
              "status": "affected",
              "version": "bae19fdd7e9e759580ac4693d2df3bc23ab415d7",
              "versionType": "git"
            },
            {
              "lessThan": "7cc438c99bba324a0562b1bafa747b10f7e251df",
              "status": "affected",
              "version": "bae19fdd7e9e759580ac4693d2df3bc23ab415d7",
              "versionType": "git"
            },
            {
              "lessThan": "46d0fd8535edce31f15e48d2de1bdee39a4850e5",
              "status": "affected",
              "version": "bae19fdd7e9e759580ac4693d2df3bc23ab415d7",
              "versionType": "git"
            },
            {
              "lessThan": "07c60dda9c059c09f83d42a3ebda2e7cc1cf3bc2",
              "status": "affected",
              "version": "bae19fdd7e9e759580ac4693d2df3bc23ab415d7",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "arch/x86/events/amd/core.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "5.19"
            },
            {
              "lessThan": "5.19",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.97",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.18.*",
              "status": "unaffected",
              "version": "6.18.40",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "7.1.*",
              "status": "unaffected",
              "version": "7.1.5",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "7.2",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.97",
                  "versionStartIncluding": "5.19",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18.40",
                  "versionStartIncluding": "5.19",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.1.5",
                  "versionStartIncluding": "5.19",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.2",
                  "versionStartIncluding": "5.19",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nperf/x86/amd/core: Avoid enabling BRS from the SVM reload path\n\nBranch Sampling (BRS) and Last Branch Record (LBR) are mutually\nexclusive hardware features, and users of both are tracked via\ncpuc-\u003elbr_users.\n\nWhen SVM is toggled on a CPU, the host perf events are reprogrammed to\nupdate the HostOnly filter bit (set when virtualization is enabled,\ncleared when it is disabled). On PerfMonV2-capable processors, this\nreprogramming is performed by calling amd_pmu_enable_all() to rewrite\nthe event selectors. However, amd_pmu_enable_all() also calls\namd_brs_enable_all(), which enables BRS whenever cpuc-\u003elbr_users \u003e 0.\nHaving active LBR events satisfies this gating on processors that have\nLBR but not BRS. The kernel then tries to set the BRS enable bit in\nDebugExtnCfg (MSR 0xc000010f). Since that bit is deprecated on such\nhardware, the write results in a #GP:\n\n  Call Trace:\n   \u003cIRQ\u003e\n   amd_pmu_enable_all+0x1d/0x90\n   amd_pmu_disable_virt+0x62/0xb0\n   kvm_arch_disable_virtualization_cpu+0xa/0x40 [kvm]\n   hardware_disable_nolock+0x1a/0x30 [kvm]\n   __flush_smp_call_function_queue+0x9b/0x410\n   __sysvec_call_function+0x18/0xc0\n   sysvec_call_function+0x69/0x90\n   \u003c/IRQ\u003e\n   \u003cTASK\u003e\n   asm_sysvec_call_function+0x16/0x20\n  RIP: 0010:cpuidle_enter_state+0xc4/0x450\n   ? cpuidle_enter_state+0xb7/0x450\n   cpuidle_enter+0x29/0x40\n   cpuidle_idle_call+0xf5/0x160\n   do_idle+0x7b/0xe0\n   cpu_startup_entry+0x26/0x30\n   start_secondary+0x115/0x140\n   secondary_startup_64_no_verify+0x194/0x19b\n   \u003c/TASK\u003e\n\nFix this by ensuring that BRS is not enabled from the event selector\nreprogramming path even when cpuc-\u003elbr_users \u003e 0."
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-17T05:12:31.697Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/e9b1a7411a667539c2f55e720bbb5f623b526a32"
        },
        {
          "url": "https://git.kernel.org/stable/c/7cc438c99bba324a0562b1bafa747b10f7e251df"
        },
        {
          "url": "https://git.kernel.org/stable/c/46d0fd8535edce31f15e48d2de1bdee39a4850e5"
        },
        {
          "url": "https://git.kernel.org/stable/c/07c60dda9c059c09f83d42a3ebda2e7cc1cf3bc2"
        }
      ],
      "title": "perf/x86/amd/core: Avoid enabling BRS from the SVM reload path",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-72325",
    "datePublished": "2026-08-15T05:55:36.148Z",
    "dateReserved": "2026-08-09T03:40:39.919Z",
    "dateUpdated": "2026-08-17T05:12:31.697Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2026-72325",
      "date": "2026-09-04",
      "epss": "0.00209",
      "percentile": "0.11007"
    },
    "nvd": "{\"cve\":{\"id\":\"CVE-2026-72325\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2026-08-15T06:22:05.547\",\"lastModified\":\"2026-08-17T06:18:36.053\",\"vulnStatus\":\"Received\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nperf/x86/amd/core: Avoid enabling BRS from the SVM reload path\\n\\nBranch Sampling (BRS) and Last Branch Record (LBR) are mutually\\nexclusive hardware features, and users of both are tracked via\\ncpuc-\u003elbr_users.\\n\\nWhen SVM is toggled on a CPU, the host perf events are reprogrammed to\\nupdate the HostOnly filter bit (set when virtualization is enabled,\\ncleared when it is disabled). On PerfMonV2-capable processors, this\\nreprogramming is performed by calling amd_pmu_enable_all() to rewrite\\nthe event selectors. However, amd_pmu_enable_all() also calls\\namd_brs_enable_all(), which enables BRS whenever cpuc-\u003elbr_users \u003e 0.\\nHaving active LBR events satisfies this gating on processors that have\\nLBR but not BRS. The kernel then tries to set the BRS enable bit in\\nDebugExtnCfg (MSR 0xc000010f). Since that bit is deprecated on such\\nhardware, the write results in a #GP:\\n\\n  Call Trace:\\n   \u003cIRQ\u003e\\n   amd_pmu_enable_all+0x1d/0x90\\n   amd_pmu_disable_virt+0x62/0xb0\\n   kvm_arch_disable_virtualization_cpu+0xa/0x40 [kvm]\\n   hardware_disable_nolock+0x1a/0x30 [kvm]\\n   __flush_smp_call_function_queue+0x9b/0x410\\n   __sysvec_call_function+0x18/0xc0\\n   sysvec_call_function+0x69/0x90\\n   \u003c/IRQ\u003e\\n   \u003cTASK\u003e\\n   asm_sysvec_call_function+0x16/0x20\\n  RIP: 0010:cpuidle_enter_state+0xc4/0x450\\n   ? cpuidle_enter_state+0xb7/0x450\\n   cpuidle_enter+0x29/0x40\\n   cpuidle_idle_call+0xf5/0x160\\n   do_idle+0x7b/0xe0\\n   cpu_startup_entry+0x26/0x30\\n   start_secondary+0x115/0x140\\n   secondary_startup_64_no_verify+0x194/0x19b\\n   \u003c/TASK\u003e\\n\\nFix this by ensuring that BRS is not enabled from the event selector\\nreprogramming path even when cpuc-\u003elbr_users \u003e 0.\"}],\"affected\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"affectedData\":[{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"unaffected\",\"programFiles\":[\"arch/x86/events/amd/core.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"bae19fdd7e9e759580ac4693d2df3bc23ab415d7\",\"lessThan\":\"e9b1a7411a667539c2f55e720bbb5f623b526a32\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"bae19fdd7e9e759580ac4693d2df3bc23ab415d7\",\"lessThan\":\"7cc438c99bba324a0562b1bafa747b10f7e251df\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"bae19fdd7e9e759580ac4693d2df3bc23ab415d7\",\"lessThan\":\"46d0fd8535edce31f15e48d2de1bdee39a4850e5\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"bae19fdd7e9e759580ac4693d2df3bc23ab415d7\",\"lessThan\":\"07c60dda9c059c09f83d42a3ebda2e7cc1cf3bc2\",\"versionType\":\"git\",\"status\":\"affected\"}]},{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"affected\",\"programFiles\":[\"arch/x86/events/amd/core.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"5.19\",\"status\":\"affected\"},{\"version\":\"0\",\"lessThan\":\"5.19\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.12.97\",\"lessThanOrEqual\":\"6.12.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.18.40\",\"lessThanOrEqual\":\"6.18.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"7.1.5\",\"lessThanOrEqual\":\"7.1.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"7.2\",\"lessThanOrEqual\":\"*\",\"versionType\":\"original_commit_for_fix\",\"status\":\"unaffected\"}]}]}],\"metrics\":{},\"references\":[{\"url\":\"https://git.kernel.org/stable/c/07c60dda9c059c09f83d42a3ebda2e7cc1cf3bc2\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/46d0fd8535edce31f15e48d2de1bdee39a4850e5\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/7cc438c99bba324a0562b1bafa747b10f7e251df\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/e9b1a7411a667539c2f55e720bbb5f623b526a32\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}]}}",
    "redhat_vex": {
      "aggregate_severity": "Moderate",
      "current_release_date": "2026-08-18T23:43:35+00:00",
      "cve": "CVE-2026-72325",
      "id": "CVE-2026-72325",
      "initial_release_date": "2026-08-15T00:00:00+00:00",
      "product_status:known_affected": "232",
      "product_status:known_not_affected": "42",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: perf/x86/amd/core: Avoid enabling BRS from the SVM reload path",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-72325.json",
      "version": "3"
    }
  }
}



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…

Detection rules are retrieved from Rulezet.

Loading…

Loading…

Loading…