CVE-2026-93275 (GCVE-0-2026-93275)

Vulnerability from cvelistv5 – Published: 2026-09-24 15:52 – Updated: 2026-09-24 15:52
VLAI
Title
perf/x86/intel/pt: Fix stop/start with no update
Summary
In the Linux kernel, the following vulnerability has been resolved: perf/x86/intel/pt: Fix stop/start with no update If pt_event_stop() is called without PERF_EF_UPDATE flag, then perf_aux_output_end() is not called. A subsequent call to pt_event_start() will call perf_aux_output_begin() again which violates the rule against nesting and triggers a WARNING in perf_aux_output_begin(). Originally, pt_event_stop() was never called without PERF_EF_UPDATE, because the only code paths to do so are from event overflow, and Intel PT does not do that. However the introduction of group throttling by commit 9734e25fbf5ae ("perf: Fix the throttle logic for a group") meant that an Intel PT event could be throttled if it was part of a group. Throttling calls PMU ->stop() / ->start() callbacks without flags. An example is when AUX area sampling is used. The following commands hit the issue: echo 10000 > /proc/sys/kernel/perf_event_max_sample_rate perf record -F32000 --aux-sample -e '{intel_pt//u,cycles:u}' \ -- bash -c 'for i in `seq 1 100000` ; do true ; done' Use PERF_HES_UPTODATE to track whether perf_aux_output_begin() and perf_aux_output_end() are balanced. A cleared PERF_HES_UPTODATE bit indicates that an AUX output context is still open. Amend pt_event_start() / pt_event_stop() accordingly so that begin/end stay balanced: - In non-snapshot mode, stop() always closes the buffer (the buffer may have run out of space, and that accounting is done by the update), so a following start() opens a fresh one as before. - In snapshot/overwrite mode, stop() without PERF_EF_UPDATE leaves the buffer open so that pt_event_snapshot_aux() can still copy from it, and start() then only re-enables tracing instead of calling perf_aux_output_begin() again. Note that pt_event_del() calls pt_event_stop() with PERF_EF_UPDATE flag set (as is required by the documentation), so a final call to perf_aux_output_end() is assured.
Severity
No CVSS data available.
Impacted products
Vendor Product Version CPE status
Linux Linux Affected: 52ca9ced3f70779589e6ecc329baffe69d8f5f7a , < 9b919fb5512f256e9e0604faf960b2bb98aab454 (git)
Affected: 52ca9ced3f70779589e6ecc329baffe69d8f5f7a , < cab5015ee3f25f789b4a368f2abfa65536576b78 (git)
Affected: 52ca9ced3f70779589e6ecc329baffe69d8f5f7a , < 304844b5545f444d523286da8228a1cbc46ffffa (git)
Affected: 52ca9ced3f70779589e6ecc329baffe69d8f5f7a , < 2e17bf3a469a41457a3bc31b1f8fd66b6ce94a6d (git)
guessed Create a notification for this product.
Linux Linux Affected: 4.1
Unaffected: 0 , < 4.1 (semver)
Unaffected: 6.12.110 , ≤ 6.12.* (semver)
Unaffected: 6.18.52 , ≤ 6.18.* (semver)
Unaffected: 7.2.6 , ≤ 7.2.* (semver)
Unaffected: 7.3-rc1 , ≤ * (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/intel/pt.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "9b919fb5512f256e9e0604faf960b2bb98aab454",
              "status": "affected",
              "version": "52ca9ced3f70779589e6ecc329baffe69d8f5f7a",
              "versionType": "git"
            },
            {
              "lessThan": "cab5015ee3f25f789b4a368f2abfa65536576b78",
              "status": "affected",
              "version": "52ca9ced3f70779589e6ecc329baffe69d8f5f7a",
              "versionType": "git"
            },
            {
              "lessThan": "304844b5545f444d523286da8228a1cbc46ffffa",
              "status": "affected",
              "version": "52ca9ced3f70779589e6ecc329baffe69d8f5f7a",
              "versionType": "git"
            },
            {
              "lessThan": "2e17bf3a469a41457a3bc31b1f8fd66b6ce94a6d",
              "status": "affected",
              "version": "52ca9ced3f70779589e6ecc329baffe69d8f5f7a",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "arch/x86/events/intel/pt.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "4.1"
            },
            {
              "lessThan": "4.1",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.110",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.18.*",
              "status": "unaffected",
              "version": "6.18.52",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "7.2.*",
              "status": "unaffected",
              "version": "7.2.6",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "7.3-rc1",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.110",
                  "versionStartIncluding": "4.1",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18.52",
                  "versionStartIncluding": "4.1",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.2.6",
                  "versionStartIncluding": "4.1",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.3-rc1",
                  "versionStartIncluding": "4.1",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nperf/x86/intel/pt: Fix stop/start with no update\n\nIf pt_event_stop() is called without PERF_EF_UPDATE flag, then\nperf_aux_output_end() is not called.  A subsequent call to pt_event_start()\nwill call perf_aux_output_begin() again which violates the rule against\nnesting and triggers a WARNING in perf_aux_output_begin().\n\nOriginally, pt_event_stop() was never called without PERF_EF_UPDATE,\nbecause the only code paths to do so are from event overflow, and Intel PT\ndoes not do that.\n\nHowever the introduction of group throttling by commit 9734e25fbf5ae\n(\"perf: Fix the throttle logic for a group\") meant that an Intel PT event\ncould be throttled if it was part of a group.  Throttling calls PMU\n -\u003estop() / -\u003estart() callbacks without flags.\n\nAn example is when AUX area sampling is used. The following commands\nhit the issue:\n\n  echo 10000 \u003e /proc/sys/kernel/perf_event_max_sample_rate\n\n  perf record -F32000 --aux-sample -e \u0027{intel_pt//u,cycles:u}\u0027 \\\n  -- bash -c \u0027for i in `seq 1 100000` ; do true ; done\u0027\n\nUse PERF_HES_UPTODATE to track whether perf_aux_output_begin() and\nperf_aux_output_end() are balanced.  A cleared PERF_HES_UPTODATE bit\nindicates that an AUX output context is still open.\n\nAmend pt_event_start() / pt_event_stop() accordingly so that begin/end\nstay balanced:\n\n - In non-snapshot mode, stop() always closes the buffer (the buffer may\n   have run out of space, and that accounting is done by the update), so\n   a following start() opens a fresh one as before.\n\n - In snapshot/overwrite mode, stop() without PERF_EF_UPDATE leaves the\n   buffer open so that pt_event_snapshot_aux() can still copy from it,\n   and start() then only re-enables tracing instead of calling\n   perf_aux_output_begin() again.\n\nNote that pt_event_del() calls pt_event_stop() with PERF_EF_UPDATE flag set\n(as is required by the documentation), so a final call to\nperf_aux_output_end() is assured."
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-09-24T15:52:17.064Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/9b919fb5512f256e9e0604faf960b2bb98aab454"
        },
        {
          "url": "https://git.kernel.org/stable/c/cab5015ee3f25f789b4a368f2abfa65536576b78"
        },
        {
          "url": "https://git.kernel.org/stable/c/304844b5545f444d523286da8228a1cbc46ffffa"
        },
        {
          "url": "https://git.kernel.org/stable/c/2e17bf3a469a41457a3bc31b1f8fd66b6ce94a6d"
        }
      ],
      "title": "perf/x86/intel/pt: Fix stop/start with no update",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-93275",
    "datePublished": "2026-09-24T15:52:17.064Z",
    "dateReserved": "2026-09-17T16:02:15.098Z",
    "dateUpdated": "2026-09-24T15:52:17.064Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "nvd": {
      "cve": {
        "affected": [
          {
            "affectedData": [
              {
                "defaultStatus": "unaffected",
                "product": "Linux",
                "programFiles": [
                  "arch/x86/events/intel/pt.c"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "lessThan": "9b919fb5512f256e9e0604faf960b2bb98aab454",
                    "status": "affected",
                    "version": "52ca9ced3f70779589e6ecc329baffe69d8f5f7a",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "cab5015ee3f25f789b4a368f2abfa65536576b78",
                    "status": "affected",
                    "version": "52ca9ced3f70779589e6ecc329baffe69d8f5f7a",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "304844b5545f444d523286da8228a1cbc46ffffa",
                    "status": "affected",
                    "version": "52ca9ced3f70779589e6ecc329baffe69d8f5f7a",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "2e17bf3a469a41457a3bc31b1f8fd66b6ce94a6d",
                    "status": "affected",
                    "version": "52ca9ced3f70779589e6ecc329baffe69d8f5f7a",
                    "versionType": "git"
                  }
                ]
              },
              {
                "defaultStatus": "affected",
                "product": "Linux",
                "programFiles": [
                  "arch/x86/events/intel/pt.c"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "status": "affected",
                    "version": "4.1"
                  },
                  {
                    "lessThan": "4.1",
                    "status": "unaffected",
                    "version": "0",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.12.*",
                    "status": "unaffected",
                    "version": "6.12.110",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.18.*",
                    "status": "unaffected",
                    "version": "6.18.52",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "7.2.*",
                    "status": "unaffected",
                    "version": "7.2.6",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "*",
                    "status": "unaffected",
                    "version": "7.3-rc1",
                    "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\nperf/x86/intel/pt: Fix stop/start with no update\n\nIf pt_event_stop() is called without PERF_EF_UPDATE flag, then\nperf_aux_output_end() is not called.  A subsequent call to pt_event_start()\nwill call perf_aux_output_begin() again which violates the rule against\nnesting and triggers a WARNING in perf_aux_output_begin().\n\nOriginally, pt_event_stop() was never called without PERF_EF_UPDATE,\nbecause the only code paths to do so are from event overflow, and Intel PT\ndoes not do that.\n\nHowever the introduction of group throttling by commit 9734e25fbf5ae\n(\"perf: Fix the throttle logic for a group\") meant that an Intel PT event\ncould be throttled if it was part of a group.  Throttling calls PMU\n -\u003estop() / -\u003estart() callbacks without flags.\n\nAn example is when AUX area sampling is used. The following commands\nhit the issue:\n\n  echo 10000 \u003e /proc/sys/kernel/perf_event_max_sample_rate\n\n  perf record -F32000 --aux-sample -e \u0027{intel_pt//u,cycles:u}\u0027 \\\n  -- bash -c \u0027for i in `seq 1 100000` ; do true ; done\u0027\n\nUse PERF_HES_UPTODATE to track whether perf_aux_output_begin() and\nperf_aux_output_end() are balanced.  A cleared PERF_HES_UPTODATE bit\nindicates that an AUX output context is still open.\n\nAmend pt_event_start() / pt_event_stop() accordingly so that begin/end\nstay balanced:\n\n - In non-snapshot mode, stop() always closes the buffer (the buffer may\n   have run out of space, and that accounting is done by the update), so\n   a following start() opens a fresh one as before.\n\n - In snapshot/overwrite mode, stop() without PERF_EF_UPDATE leaves the\n   buffer open so that pt_event_snapshot_aux() can still copy from it,\n   and start() then only re-enables tracing instead of calling\n   perf_aux_output_begin() again.\n\nNote that pt_event_del() calls pt_event_stop() with PERF_EF_UPDATE flag set\n(as is required by the documentation), so a final call to\nperf_aux_output_end() is assured."
          }
        ],
        "id": "CVE-2026-93275",
        "lastModified": "2026-09-24T16:17:24.667",
        "metrics": {},
        "published": "2026-09-24T16:17:24.667",
        "references": [
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/2e17bf3a469a41457a3bc31b1f8fd66b6ce94a6d"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/304844b5545f444d523286da8228a1cbc46ffffa"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/9b919fb5512f256e9e0604faf960b2bb98aab454"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/cab5015ee3f25f789b4a368f2abfa65536576b78"
          }
        ],
        "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "vulnStatus": "Received"
      }
    },
    "suse_vex": {
      "aggregate_severity": "not set",
      "current_release_date": "2026-09-24T23:48:32Z",
      "cve": "CVE-2026-93275",
      "id": "CVE-2026-93275",
      "initial_release_date": "2026-09-24T23:48:32Z",
      "source": "SUSE CSAF VEX",
      "status": "interim",
      "title": "SUSE CVE CVE-2026-93275",
      "url": "https://ftp.suse.com/pub/projects/security/csaf-vex/cve-2026-93275.json",
      "version": "2"
    }
  }
}



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…