CVE-2026-68177 (GCVE-0-2026-68177)

Vulnerability from cvelistv5 – Published: 2026-08-10 11:59 – Updated: 2026-08-17 05:00
VLAI
Title
tracing: Delay module ref count for "enable_event" trigger
Summary
In the Linux kernel, the following vulnerability has been resolved: tracing: Delay module ref count for "enable_event" trigger Triggers are now delayed from freeing, but can still be triggered until after the RCU grace period has ended. The freeing of the enable_event data is put into the private_data_free() callback, but the put of the module refcount is done immediately. It is possible that if a module is removed that has an event that would enable (or disable) it is still active, it can read the data of the module after it is removed causing a use-after-free bug. Move the trace_event_put_ref() that releases the module into the delayed callback so that the module can not be removed until any reference to its events are finished.
Impacted products
Vendor Product Version CPE status
Linux Linux Affected: 61d445af0a7c70018111919e47beaaee15653f2f , < 159fdc3e01dca5fdbc412fcd8b239895733a270d (git)
Affected: 61d445af0a7c70018111919e47beaaee15653f2f , < e091351b38818ef620d27f44f4bfd625f13afbff (git)
guessed Create a notification for this product.
Linux Linux Affected: 6.19
Unaffected: 0 , < 6.19 (semver)
Unaffected: 7.1.6 , ≤ 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": [
            "kernel/trace/trace_events_trigger.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "159fdc3e01dca5fdbc412fcd8b239895733a270d",
              "status": "affected",
              "version": "61d445af0a7c70018111919e47beaaee15653f2f",
              "versionType": "git"
            },
            {
              "lessThan": "e091351b38818ef620d27f44f4bfd625f13afbff",
              "status": "affected",
              "version": "61d445af0a7c70018111919e47beaaee15653f2f",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "kernel/trace/trace_events_trigger.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.1.*",
              "status": "unaffected",
              "version": "7.1.6",
              "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": "7.1.6",
                  "versionStartIncluding": "6.19",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.2",
                  "versionStartIncluding": "6.19",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\ntracing: Delay module ref count for \"enable_event\" trigger\n\nTriggers are now delayed from freeing, but can still be triggered until\nafter the RCU grace period has ended. The freeing of the enable_event data\nis put into the private_data_free() callback, but the put of the module\nrefcount is done immediately.\n\nIt is possible that if a module is removed that has an event that would\nenable (or disable) it is still active, it can read the data of the module\nafter it is removed causing a use-after-free bug.\n\nMove the trace_event_put_ref() that releases the module into the delayed\ncallback so that the module can not be removed until any reference to its\nevents are finished."
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "baseScore": 7.8,
            "baseSeverity": "HIGH",
            "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
            "version": "3.1"
          },
          "scenarios": [
            {
              "lang": "en",
              "value": "AV:L - The bug is reached only via local `write()` to tracefs event `trigger` files to register/remove `enable_event`/`disable_event` triggers and via local `delete_module(2)`/`rmmod` to unload the referenced trace-event module; no network, adjacent, or physical input path reaches `event_enable_trigger_free()` or `event_enable_trigger()`.\nAC:L - The attacker controls both sides of the race: one thread removes the trigger (premature `trace_event_put_ref()`) and unloads the module while another continuously fires the bound source tracepoint, exploiting the deferred-free window before `tracepoint_synchronize_unregister()` completes in the trigger cleanup kthread.\nPR:L - Trigger registration/removal is gated only by tracefs DAC and `LOCKDOWN_TRACEFS` without `capable()`, which Android/ChromeOS/Perfetto and tracing-group mounts grant to ordinary users; unloading the held module is achievable with `CAP_SYS_MODULE` in a user namespace on permissive kernels loading attacker-controlled modules.\nUI:N - The attacker performs trigger setup/removal, module unload, and source-event generation from their own threads; no separate victim user action is required once tracefs and module privileges are available.\nS:U - The use-after-free corrupts kernel heap/trace structures within the same OS security authority and does not cross a VM, IOMMU, or sandbox boundary.\nC:H - After premature `trace_event_put_ref()` permits module removal, in-flight `event_enable_trigger()`/`event_enable_count_func()` dereference freed `trace_event_file` and module-resident `trace_event_call` data, exposing reclaimed kernel heap contents.\nI:H - `event_enable_trigger()` performs `set_bit`/`clear_bit` on `enable_data-\u003efile-\u003eflags` through a pointer to a kmem_cache-freed `trace_event_file`, giving a controllable kernel write primitive via heap shaping.\nA:H - Dereferencing freed module/event-file memory from tracepoint context readily causes kernel oops/panic, and the attacker can repeat the race at will."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-17T05:00:18.452Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/159fdc3e01dca5fdbc412fcd8b239895733a270d"
        },
        {
          "url": "https://git.kernel.org/stable/c/e091351b38818ef620d27f44f4bfd625f13afbff"
        }
      ],
      "title": "tracing: Delay module ref count for \"enable_event\" trigger",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-68177",
    "datePublished": "2026-08-10T11:59:48.318Z",
    "dateReserved": "2026-07-30T09:28:09.373Z",
    "dateUpdated": "2026-08-17T05:00:18.452Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2026-68177",
      "date": "2026-08-20",
      "epss": "0.00154",
      "percentile": "0.0508"
    },
    "nvd": "{\"cve\":{\"id\":\"CVE-2026-68177\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2026-08-10T13:20:04.610\",\"lastModified\":\"2026-08-17T05:18:19.353\",\"vulnStatus\":\"Received\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\ntracing: Delay module ref count for \\\"enable_event\\\" trigger\\n\\nTriggers are now delayed from freeing, but can still be triggered until\\nafter the RCU grace period has ended. The freeing of the enable_event data\\nis put into the private_data_free() callback, but the put of the module\\nrefcount is done immediately.\\n\\nIt is possible that if a module is removed that has an event that would\\nenable (or disable) it is still active, it can read the data of the module\\nafter it is removed causing a use-after-free bug.\\n\\nMove the trace_event_put_ref() that releases the module into the delayed\\ncallback so that the module can not be removed until any reference to its\\nevents are finished.\"}],\"affected\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"affectedData\":[{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"unaffected\",\"programFiles\":[\"kernel/trace/trace_events_trigger.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"61d445af0a7c70018111919e47beaaee15653f2f\",\"lessThan\":\"159fdc3e01dca5fdbc412fcd8b239895733a270d\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"61d445af0a7c70018111919e47beaaee15653f2f\",\"lessThan\":\"e091351b38818ef620d27f44f4bfd625f13afbff\",\"versionType\":\"git\",\"status\":\"affected\"}]},{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"affected\",\"programFiles\":[\"kernel/trace/trace_events_trigger.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"6.19\",\"status\":\"affected\"},{\"version\":\"0\",\"lessThan\":\"6.19\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"7.1.6\",\"lessThanOrEqual\":\"7.1.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"7.2\",\"lessThanOrEqual\":\"*\",\"versionType\":\"original_commit_for_fix\",\"status\":\"unaffected\"}]}]}],\"metrics\":{\"cvssMetricV31\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"type\":\"Secondary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H\",\"baseScore\":7.8,\"baseSeverity\":\"HIGH\",\"attackVector\":\"LOCAL\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"LOW\",\"userInteraction\":\"NONE\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"HIGH\",\"integrityImpact\":\"HIGH\",\"availabilityImpact\":\"HIGH\"},\"exploitabilityScore\":1.8,\"impactScore\":5.9}]},\"references\":[{\"url\":\"https://git.kernel.org/stable/c/159fdc3e01dca5fdbc412fcd8b239895733a270d\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/e091351b38818ef620d27f44f4bfd625f13afbff\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}]}}",
    "redhat_vex": {
      "aggregate_severity": "Moderate",
      "current_release_date": "2026-08-11T12:44:37+00:00",
      "cve": "CVE-2026-68177",
      "id": "CVE-2026-68177",
      "initial_release_date": "2026-08-10T00:00:00+00:00",
      "product_status:known_not_affected": "274",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: tracing: Delay module ref count for \"enable_event\" trigger",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-68177.json",
      "version": "3"
    },
    "suse_vex": {
      "aggregate_severity": "moderate",
      "current_release_date": "2026-08-14T23:45:46Z",
      "cve": "CVE-2026-68177",
      "id": "CVE-2026-68177",
      "initial_release_date": "2026-08-13T16:23:34Z",
      "product_status:known_not_affected": "296",
      "source": "SUSE CSAF VEX",
      "status": "interim",
      "title": "SUSE CVE CVE-2026-68177",
      "url": "https://ftp.suse.com/pub/projects/security/csaf-vex/cve-2026-68177.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…