CVE-2026-74753 (GCVE-0-2026-74753)

Vulnerability from cvelistv5 – Published: 2026-08-26 14:37 – Updated: 2026-08-27 05:01
VLAI
Title
perf: Reject exited events as group leaders
Summary
In the Linux kernel, the following vulnerability has been resolved: perf: Reject exited events as group leaders perf_event_remove_on_exec() sets remove-on-exec events to the EXIT state and detaches their group relationships. The event's file descriptor can remain open, however, and perf_event_open() currently accepts that event as a group leader because its early validation rejects only REVOKED and DEAD events. A new sibling can consequently be linked to the detached leader. When the leader is closed, perf_group_detach() observes that its PERF_ATTACH_GROUP bit is already clear and skips the new sibling. The sibling then retains a group_leader pointer to the freed event. Reject group leaders in the EXIT state. Perform the check while holding the shared context mutex so that an exec in the target task cannot detach the leader between validation and group attachment. [peterz: make the earlier test fully consistent]
Impacted products
Vendor Product Version CPE status
Linux Linux Affected: a2d5d3ee7b6e3953114726b1521e62123ab5b043 , < 7a03413f31c196ab3894f988cdce0bb47b4fec42 (git)
Affected: 06ccef0434e98058ddae7bcebc901f93d22b7653 , < 7ce010275c531475f9d6e7efb11b9e522c74ed2e (git)
Affected: 037a3c43edfb597665dd34457cd22b14692f2ba3 , < fa091f46c3833fb22384f10eade2b4e1e1d0b278 (git)
Affected: 4cdb1b3ab96eb1b7eb70bc5c82fede334bd60df2 (git)
Affected: 39358e856fb89e62e3c8d7389a2dc4ec33dbe90e (git)
Affected: 6.6.145 , < 6.7 (semver)
Affected: 6.12.96 , < 6.13 (semver)
guessed Create a notification for this product.
Linux Linux Affected: 6.18.39 , < 6.18.46 (semver)
Affected: 7.1.4 , < 7.1.10 (semver)
guessed Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "kernel/events/core.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "7a03413f31c196ab3894f988cdce0bb47b4fec42",
              "status": "affected",
              "version": "a2d5d3ee7b6e3953114726b1521e62123ab5b043",
              "versionType": "git"
            },
            {
              "lessThan": "7ce010275c531475f9d6e7efb11b9e522c74ed2e",
              "status": "affected",
              "version": "06ccef0434e98058ddae7bcebc901f93d22b7653",
              "versionType": "git"
            },
            {
              "lessThan": "fa091f46c3833fb22384f10eade2b4e1e1d0b278",
              "status": "affected",
              "version": "037a3c43edfb597665dd34457cd22b14692f2ba3",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "4cdb1b3ab96eb1b7eb70bc5c82fede334bd60df2",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "39358e856fb89e62e3c8d7389a2dc4ec33dbe90e",
              "versionType": "git"
            },
            {
              "lessThan": "6.7",
              "status": "affected",
              "version": "6.6.145",
              "versionType": "semver"
            },
            {
              "lessThan": "6.13",
              "status": "affected",
              "version": "6.12.96",
              "versionType": "semver"
            }
          ]
        },
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "kernel/events/core.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "6.18.46",
              "status": "affected",
              "version": "6.18.39",
              "versionType": "semver"
            },
            {
              "lessThan": "7.1.10",
              "status": "affected",
              "version": "7.1.4",
              "versionType": "semver"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18.46",
                  "versionStartIncluding": "6.18.39",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.1.10",
                  "versionStartIncluding": "7.1.4",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionStartIncluding": "6.6.145",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionStartIncluding": "6.12.96",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nperf: Reject exited events as group leaders\n\nperf_event_remove_on_exec() sets remove-on-exec events to the EXIT state\nand detaches their group relationships.  The event\u0027s file descriptor can\nremain open, however, and perf_event_open() currently accepts that event\nas a group leader because its early validation rejects only REVOKED and\nDEAD events.\n\nA new sibling can consequently be linked to the detached leader.  When\nthe leader is closed, perf_group_detach() observes that its\nPERF_ATTACH_GROUP bit is already clear and skips the new sibling.  The\nsibling then retains a group_leader pointer to the freed event.\n\nReject group leaders in the EXIT state.  Perform the check while holding\nthe shared context mutex so that an exec in the target task cannot detach\nthe leader between validation and group attachment.\n\n[peterz: make the earlier test fully consistent]"
        }
      ],
      "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 through local syscalls\u2014perf_event_open(2) to create a remove_on_exec group leader and attach a sibling, execve(2) to move the leader to EXIT state, close(2) to free it, then ioctl/read on the sibling. There is no network, adjacent-wireless, or physical device entry path.\nAC:L - The attacker fully controls the deterministic sequence: open leader with remove_on_exec, exec, open sibling against the leader fd, close leader, then trigger group operations on the sibling. No race or condition outside attacker control is required; the stale group_leader pointer is created reliably.\nPR:L - A basic unprivileged local user can open per-task perf event groups on their own process with exclude_kernel=1 under the default sysctl_perf_event_paranoid=2, without CAP_PERFMON or init-namespace root. security_perf_event_open(PERF_SECURITY_OPEN) and perf_check_permission() allow this self-monitoring path.\nUI:N - Exploitation requires no action from another user or administrator beyond the attacker running their own syscalls (open group, exec, attach sibling, close leader, ioctl/read sibling). No victim must mount filesystems, open files, or interact with the system.\nS:U - Impact is confined to kernel perf/core heap corruption and privilege escalation within the same host kernel security authority. This is not a VM escape, IOMMU bypass, or cross-namespace boundary change; it is standard local kernel memory corruption.\nC:H - This is a use-after-free: after the EXIT-state leader is freed, the sibling retains group_leader pointing at freed memory, and perf_event_for_each(), __perf_effective_state(), and group reads/ioctls dereference the freed leader and its context, enabling arbitrary kernel memory disclosure via controlled reallocations.\nI:H - Freed perf_event/group_leader structures can be reallocated with attacker-controlled data, providing heap grooming primitives for arbitrary kernel writes and control-flow hijack. Memory corruption from following the stale group_leader pointer is exploitable beyond a simple crash.\nA:H - UAF dereferences of the freed group_leader reliably cause kernel paging faults, oops, or panic when the sibling is read, enabled, or ioctl\u0027d (as in related perf group_leader UAF reproducers). UAF on attacker-influenceable perf_event objects causes full denial of service and potential system-wide unavailability."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-27T05:01:13.768Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/7a03413f31c196ab3894f988cdce0bb47b4fec42"
        },
        {
          "url": "https://git.kernel.org/stable/c/7ce010275c531475f9d6e7efb11b9e522c74ed2e"
        },
        {
          "url": "https://git.kernel.org/stable/c/fa091f46c3833fb22384f10eade2b4e1e1d0b278"
        }
      ],
      "title": "perf: Reject exited events as group leaders",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-74753",
    "datePublished": "2026-08-26T14:37:00.168Z",
    "dateReserved": "2026-08-15T05:44:03.931Z",
    "dateUpdated": "2026-08-27T05:01:13.768Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2026-74753",
      "date": "2026-09-01",
      "epss": "0.00127",
      "percentile": "0.02643"
    },
    "nvd": "{\"cve\":{\"id\":\"CVE-2026-74753\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2026-08-26T15:16:54.387\",\"lastModified\":\"2026-08-27T06:17:26.637\",\"vulnStatus\":\"Received\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nperf: Reject exited events as group leaders\\n\\nperf_event_remove_on_exec() sets remove-on-exec events to the EXIT state\\nand detaches their group relationships.  The event\u0027s file descriptor can\\nremain open, however, and perf_event_open() currently accepts that event\\nas a group leader because its early validation rejects only REVOKED and\\nDEAD events.\\n\\nA new sibling can consequently be linked to the detached leader.  When\\nthe leader is closed, perf_group_detach() observes that its\\nPERF_ATTACH_GROUP bit is already clear and skips the new sibling.  The\\nsibling then retains a group_leader pointer to the freed event.\\n\\nReject group leaders in the EXIT state.  Perform the check while holding\\nthe shared context mutex so that an exec in the target task cannot detach\\nthe leader between validation and group attachment.\\n\\n[peterz: make the earlier test fully consistent]\"}],\"affected\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"affectedData\":[{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"unaffected\",\"programFiles\":[\"kernel/events/core.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"a2d5d3ee7b6e3953114726b1521e62123ab5b043\",\"lessThan\":\"7a03413f31c196ab3894f988cdce0bb47b4fec42\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"06ccef0434e98058ddae7bcebc901f93d22b7653\",\"lessThan\":\"7ce010275c531475f9d6e7efb11b9e522c74ed2e\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"037a3c43edfb597665dd34457cd22b14692f2ba3\",\"lessThan\":\"fa091f46c3833fb22384f10eade2b4e1e1d0b278\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"4cdb1b3ab96eb1b7eb70bc5c82fede334bd60df2\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"39358e856fb89e62e3c8d7389a2dc4ec33dbe90e\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"6.6.145\",\"lessThan\":\"6.7\",\"versionType\":\"semver\",\"status\":\"affected\"},{\"version\":\"6.12.96\",\"lessThan\":\"6.13\",\"versionType\":\"semver\",\"status\":\"affected\"}]},{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"unaffected\",\"programFiles\":[\"kernel/events/core.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"6.18.39\",\"lessThan\":\"6.18.46\",\"versionType\":\"semver\",\"status\":\"affected\"},{\"version\":\"7.1.4\",\"lessThan\":\"7.1.10\",\"versionType\":\"semver\",\"status\":\"affected\"}]}]}],\"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/7a03413f31c196ab3894f988cdce0bb47b4fec42\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/7ce010275c531475f9d6e7efb11b9e522c74ed2e\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/fa091f46c3833fb22384f10eade2b4e1e1d0b278\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}]}}",
    "redhat_vex": {
      "aggregate_severity": "Moderate",
      "current_release_date": "2026-08-27T06:50:17+00:00",
      "cve": "CVE-2026-74753",
      "id": "CVE-2026-74753",
      "initial_release_date": "2026-08-26T00:00:00+00:00",
      "product_status:known_affected": "274",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: perf: Reject exited events as group leaders",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-74753.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…