Linux Kernel
CVE-2025-68333
MEDIUM
Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessLocal access to PREEMPT_RT sched_ext host
-
DeliveryTrigger deferred IRQ work on current rq
-
ExploitInterrupt arrives during rq->__lock hold
-
ExecutionRecursive lock acquisition deadlocks CPU
-
ImpactDenial of service / system hang
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Proper locking
|
| Exploitation Conditions | Exploitation is confined to kernels built with CONFIG_PREEMPT_RT=y (the real-time preemption variant) that also use the sched_ext BPF-based scheduler, and only in the Linux 6.18 release-candidate series (rc1-rc6); stable kernels and non-RT builds are not affected. The deadlock arises only when deferred_irq_workfn() runs against the current CPU's runqueue and a hardware interrupt lands precisely while rq->__lock is held, so it is a non-deterministic race, not a reliably triggerable condition. Limiting factors: requires local presence on the host (AV:L) and some privilege/scheduling activity (PR:L), affects only a narrow RT+sched_ext configuration, and impacts only pre-release kernels - meaning no deployed production system running a stable release is exposed. |
| Impact | This is a low-priority, defense-in-depth kernel hardening fix rather than an attacker-driven vulnerability. The CVSS 3.1 vector (AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H, base 5.5) correctly captures the profile: local access only, no confidentiality or integrity impact, and availability-only consequence (a deadlock/hang). CWE-667 (improper locking) matches the root cause - recursive acquisition of rq->__lock when deferred_irq_workfn() runs in softened IRQ context on PREEMPT_RT=y kernels. No EPSS score, no CISA KEV listing, and no public exploit were provided, so by the precision rules this is 'no public exploit identified at time of analysis.' Crucially, the affected set is limited to Linux 6.18 release candidates (rc1-rc6), which are pre-release kernels not used in production, so real-world exposure is minimal. One conflicting signal: the input Tags assert 'Information Disclosure,' but the CVSS vector is explicitly C:N/I:N/A:H - there is NO confidentiality impact, so the tag is wrong and should be disregarded. Overall this is a high-CVSS-relative-to-impact edge case with negligible real-world risk: a timing-dependent, local availability bug on RT kernels that never shipped in a stable release. |
| Exploit ScenarioDerived | On a PREEMPT_RT=y kernel built from Linux 6.18-rc with sched_ext in use, the deferred IRQ work function executes in a preemptible per-CPU task context; if it processes the current CPU's runqueue and is interrupted while holding rq->__lock, a re-entrant attempt to take the same lock deadlocks that CPU. This is a race condition triggered by normal scheduling activity and interrupt timing rather than a crafted payload, so there is no public exploit and deliberate triggering by a local user would be unreliable. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 19, 2026
Denial of service in the Linux kernel's sched_ext scheduler can occur on PREEMPT_RT builds when deferred_irq_workfn() races with a hardware interrupt and reacquires rq->__lock, hanging the affected CPU. Exposure is limited to Linux 6.18-rc1 through 6.18-rc6 configured with CONFIG_PREEMPT_RT=y and sched_ext; stable kernels and non-RT builds are not affected, and the race is non-deterministic, requiring local access and some scheduling privilege. This is a low-priority hardening fix rather than an attacker-driven vulnerability, and no public exploit has been identified at time of analysis.
RemediationAI
Patch available per vendor advisory: apply the upstream sched_ext fix referenced by commits 541959b2fadb832a7d0ceb95041dc52bdcf6bff7, 600b4379b9a7ba41340d652211fb29699da4c629, and a257e974210320ede524f340ffe16bf4bf0dda1e, or move to a kernel release that includes the change; because the input does not specify an exact fixed version, confirm the containing release with the distributor. If a PREEMPT_RT kernel on 6.18-rc1 through 6.18-rc6 is in use, avoid enabling sched_ext (do not load an scx BPF scheduler) or run a non-RT kernel until patched - disabling sched_ext removes the extensible scheduling functionality and running non-RT loses real-time guarantees. Restrict local interactive access and untrusted scheduling-privileged workloads as a compensating control, noting that this does not eliminate the race. No public exploit has been identified.
Affects your stack
Find out whether the stacks and servers you run are on an affected version.
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The issue is a lock-ordering/deadlock flaw (CWE-667) in the Linux kernel's sched_ext extensible scheduler, a BPF-based scheduling framework. On PREEMPT_RT=y kernels, deferred_irq_workfn() executes in the per-CPU irq_work/* task context with interrupts enabled rather than in hard-IRQ context; if container_of() resolves to the current CPU's runqueue, the function can take rq->__lock while an interrupt arrives and attempts to take the same lock, producing the classic lock(&rq->__lock); <Interrupt> lock(&rq->__lock); deadlock. The fix replaces init_irq_work() with IRQ_WORK_INIT_HARD() so deferred_irq_workfn() always runs in hard-IRQ context, removing the interruptible critical section. CPE data enumerates Linux kernel 6.18-rc1 through 6.18-rc6, with broad linux:linux_kernel wildcard entries, matching the independent assessment that only these pre-release RT+sched_ext configurations are affected.
Know when the next one hits your stack
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Local-only race requiring precise interrupt timing during a lock hold on an RT+sched_ext build, so AV:L/AC:H/PR:L; availability-only deadlock means C:N/I:N/A:H.
Primary rating from NVD.
CVSS VectorNVD
DescriptionNVD
In the Linux kernel, the following vulnerability has been resolved:
sched_ext: Fix possible deadlock in the deferred_irq_workfn()
For PREEMPT_RT=y kernels, the deferred_irq_workfn() is executed in the per-cpu irq_work/* task context and not disable-irq, if the rq returned by container_of() is current CPU's rq, the following scenarios may occur:
lock(&rq->__lock); <Interrupt> lock(&rq->__lock);
This commit use IRQ_WORK_INIT_HARD() to replace init_irq_work() to initialize rq->scx.deferred_irq_work, make the deferred_irq_workfn() is always invoked in hard-irq context.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.
NVD
CVE.org
EPSS
GitHub PoC
Exploit-DB