Skip to main content

Linux Kernel CVE-2026-74594

| EUVDEUVD-2026-64531 HIGH
2026-08-22 Linux GHSA-2rjf-492g-58r9
7.8
CVSS 3.1 · Vendor: Linux
Share

Severity by source

Vendor (Linux) PRIMARY
7.8 HIGH
AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
vuln.today AI
7.0 HIGH

Race condition requires winning a narrow scheduler-vs-destructor timing window, elevating AC to H; PR:L reflects required local user credentials confirmed by description.

3.1 AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H
4.0 AV:L/AC:H/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (Linux).

CVSS VectorVendor: Linux

CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Attack Vector
Local
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

5
Analysis Generated
Aug 25, 2026 - 06:29 vuln.today
CVSS changed
Aug 25, 2026 - 06:22 NVD
7.8 (HIGH)
Patch available
Aug 22, 2026 - 16:32 EUVD
CVE Published
Aug 22, 2026 - 15:31 cve.org
HIGH 7.8
CVE Published
Aug 22, 2026 - 15:31 cve.org
UNKNOWN (no severity yet)

DescriptionCVE.org

In the Linux kernel, the following vulnerability has been resolved:

sched/psi: Shut down rtpoll_timer in psi_cgroup_free()

psi_schedule_rtpoll_work() is called locklessly from the scheduler hotpath and can race psi_trigger_destroy() taking down the last rtpoll trigger under rtpoll_trigger_lock:

psi_schedule_rtpoll_work() psi_trigger_destroy()

rcu_read_lock(); task = rcu_dereference(rtpoll_task); rcu_assign_pointer(rtpoll_task, NULL); timer_delete(&rtpoll_timer); mod_timer(&rtpoll_timer, ...); rcu_read_unlock(); synchronize_rcu(); kthread_stop(task_to_destroy);

The group can then be freed with the re-armed timer still pending, and poll_timer_fn() runs on freed memory.

461daba06bdc ("psi: eliminate kthread_worker from psi trigger scheduling mechanism") deleted the timer synchronously after the synchronize_rcu(), which prevented this but raced trigger creation instead: the deletion could cancel the timer that a new trigger set armed during the grace period and, as creation also reinitialized the timer at the time, corrupt it. 8f91efd870ea ("psi: Fix race between psi_trigger_create/destroy") moved the initialization into group_init() and the deletion into the locked section, trading the creation races for the window above.

Neither placement in the destruction path works. A pending timer firing while the group is alive is harmless though. poll_timer_fn() just wakes the rtpoll waitqueue and doesn't re-arm itself. Bind the timer to the group's lifetime instead and shut it down in psi_cgroup_free(). Nothing can arm it by then. timer_shutdown_sync() because the timer is never armed again.

AnalysisAI

Use-after-free in the Linux kernel's PSI (Pressure Stall Information) scheduler subsystem exposes local low-privilege users to potential memory corruption and privilege escalation on affected kernel versions. The race condition between psi_schedule_rtpoll_work(), called locklessly from the scheduler hotpath, and psi_trigger_destroy() allows the rtpoll_timer to be re-armed after the cgroup group has been freed, causing poll_timer_fn() to execute on deallocated memory. …

Unlock full vulnerability intelligence

  • Risk assessment & exploitation conditions
  • Attack chain visualization
  • Remediation with exact patch versions
  • Threat intelligence from 22 sources
  • Personal watchlist & email alerts

Free forever · No credit card required

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata

Access
Gain local user access to target system
Delivery
Create PSI cgroup triggers to arm rtpoll_timer
Exploit
Invoke psi_trigger_destroy() concurrently with scheduler hotpath
Execution
Win race: mod_timer() re-arms timer after timer_delete()
Persist
poll_timer_fn() executes on freed cgroup memory
Impact
Kernel use-after-free exploited for local privilege escalation

Vulnerability AssessmentAI

Exploitation Exploitation requires local interactive or SSH access to the target system with at least low-privilege user credentials (CVSS PR:L confirmed). … Additional conditions and limiting factors are described in the full assessment.
Risk Assessment The CVSS 7.8 score (AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H) reflects a local low-privilege exploitation path with full triad impact, but the AC:L rating is arguably optimistic for a timing-sensitive race condition that requires winning a narrow scheduler window - an independent assessment would rate this AC:H, yielding a score closer to 7.0. … Full risk analysis with EPSS, KEV, and SSVC signal comparison available after sign-in.
Exploit Scenario A local attacker with standard user credentials on a multi-tenant Linux system running an affected kernel repeatedly creates and destroys PSI triggers in a tight loop, attempting to win the race window between mod_timer() in psi_schedule_rtpoll_work() and timer_delete() in psi_trigger_destroy(). If the race is won, poll_timer_fn() fires after the cgroup has been freed, corrupting heap memory that can potentially be exploited for local privilege escalation to root. …
Remediation Upgrade to a patched kernel: Linux 6.1.183, 6.6.152, 6.12.104, 7.1.9, 7.2, or 6.18.45, as documented in EUVD-2026-64531 and the upstream stable commits at git.kernel.org. … Detailed patch versions, workarounds, and compensating controls in full report.

Recommended ActionAI

Within 24 hours: Inventory all systems running Linux kernel versions prior to 6.1.183, 6.6.152, 6.12.104, 7.1.9, 7.2, or 6.18.45, prioritizing production systems and servers with untrusted or multi-tenant user access. …

Sign in for detailed remediation steps and compensating controls.

Threat intelligence, references, and detailed analysis are available after sign-in.

Share

CVE-2026-74594 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy