Skip to main content

Linux Kernel CVE-2026-97478

| EUVDEUVD-2026-86076 HIGH
2026-09-24 Linux GHSA-97q3-wcm5-m49q
7.8
CVSS 3.1 · Vendor: Linux
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Gain local access to ACRN HSM device
  2. Delivery
    Assign irqfd bound to an eventfd
  3. Exploit
    Concurrently close eventfd and issue deassign
  4. Execution
    Win race freeing hsm_irqfd twice
  5. Persist
    Shutdown work derefs dangling pointer
  6. Impact
    Kernel memory corruption / panic

Vulnerability Assessment

Exploitation Conditions

Requires the ACRN hypervisor to be built and running on the host with the acrn HSM (Hypervisor Service Module) kernel driver loaded and an ACRN virtual machine present - this is not a default Linux configuration and is confined to ACRN embedded/IoT/automotive deployments. The attacker needs local access sufficient to assign/deassign irqfds for an ACRN VM (control of the HSM ioctl path) and must supply/close a backing eventfd. Exploitation further depends on winning a narrow timing window: the acrn_irqfd_deassign()/deinit path and an eventfd EPOLLHUP wakeup must fire concurrently against the same hsm_irqfd. Limiting factors: non-default ACRN stack, required privileged access to the HSM device, and race-condition timing that makes reliable triggering difficult.

Impact

The input CVSS is 7.8 (AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H), which frames this as a high-severity local privilege-escalation-class flaw with full C/I/A impact. That framing overstates realistic risk on two axes. First, this is a use-after-free driven by a genuine data race between acrn_irqfd_deassign()/deinit and an eventfd EPOLLHUP wakeup - races are inherently timing-dependent and should carry AC:H, not AC:L. Second, the fix and code path show a dangling struct hsm_irqfd being resurrected via container_of() and dereferenced, which is a memory-corruption/DoS primitive; the realistic dominant outcome is a kernel panic (A:H), while the claimed C:H/I:H (information disclosure / integrity) is speculative for a freed-object dereference and not demonstrated. There is no EPSS score, no CISA KEV listing, and no public POC in the provided data, so exploitation is unproven. Critically, reaching this code at all requires the ACRN hypervisor stack to be built and running with the HSM (Hypervisor Service Module) device driver active and a caller privileged enough to assign/deassign irqfds for an ACRN VM - a very narrow deployment. Net: this is a legitimate kernel memory-safety bug worth patching on ACRN hosts, but it is far from a broad-fleet priority and the tag/label and NVD-style score overstate it. Note the CVSS vector says AV:L (local) which is consistent with the description (ioctl/eventfd path), but the 'Information Disclosure' tag conflicts with the actual UAF/DoS nature - treat impact claims with caution.

Exploit ScenarioDerived

On a host running the ACRN hypervisor with the acrn HSM driver, a local user with access to manage an ACRN VM's irqfds concurrently closes the backing eventfd (triggering EPOLLHUP) while issuing an irqfd deassign, racing the two cleanup paths so the same hsm_irqfd is freed twice / dereferenced after free. Winning the race lets the queued shutdown work item dereference a dangling pointer through container_of(), corrupting kernel memory and most plausibly panicking the host. No public exploit code is identified at time of analysis, and success depends on timing.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.1% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Sep 25, 2026

A use-after-free race in the Linux kernel's ACRN hypervisor service module (HSM) lets an authenticated local attacker with control of the ACRN irqfd ioctl path free a struct hsm_irqfd that a queued shutdown work item still references, yielding kernel memory corruption via container_of() on a dangling pointer. Exploitation is not a default Linux configuration: it requires the ACRN hypervisor stack to be built and running on the host with the acrn HSM driver loaded and an ACRN VM present, plus the attacker must win a narrow timing window between acrn_irqfd_deassign()/deinit and an eventfd EPOLLHUP wakeup. Our assessment rates this CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:L/A:H - a low-complexity vector is not realistic because the race is hard to trigger reliably, and the dominant impact is availability (kernel crash), with only limited integrity impact; no public exploit code or confirmed active exploitation was identified at time of analysis, and vendor patches are available (Linux 6.18.53 / 7.2).

RemediationAI

Vendor-released patch: update to Linux kernel 6.18.53 (stable) or 7.2, or cherry-pick the upstream fixes d8156aacfcabb81f52c20ef89094945434d08079 (stable) and 666c7f9e07925aa0863348f960e09bb89f8f05a3, referencing https://git.kernel.org/stable/c/d8156aacfcabb81f52c20ef89094945434d08079 and https://git.kernel.org/stable/c/666c7f9e07925aa0863348f960e09bb89f8f05a3; the fix reworks the irqfd lifetime model so hsm_irqfd_shutdown_work() is the sole object owner and flushes vm->irqfd_wq after deactivation, eliminating the double-free/dangling-pointer race. Where the ACRN stack is not actually in use, the most effective compensating control is to not build or load the acrn HSM module (for example via module blacklist or a kernel built without CONFIG_ACRN_HSM) - the trade-off is that ACRN guest interrupt delivery via irqfd is unavailable, so any ACRN VM relying on it stops receiving those interrupts. If ACRN must remain in service, restrict access to the HSM device node and ioctl interface to a tightly controlled set of trusted local users, since the flaw requires PR:L-level access to the assign/deassign path; this reduces the attacker pool but does not remove the race for the privileged user itself. Reboot-based mitigation is ineffective because the race is re-triggerable, and there is no configuration switch that hardens the vulnerable deassign path short of the upstream lifetime rework, so patching remains the only complete fix.

Affected VersionsENISA

Linux 0 <6.18.53
Linux 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 <666c7f9e07925aa0863348f960e09bb89f8f05a3
Linux patch: 6.18.53
Linux patch: 7.2
Linux 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 <d8156aacfcabb81f52c20ef89094945434d08079

Affected Packages

euvd linux fix: 6.18.53

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

ACRN is a type-1 hypervisor used in embedded, IoT and automotive platforms; its Linux-side kernel module (the HSM, Hypervisor Service Module) exposes an ioctl interface through which userspace binds host eventfds to guest interrupt sources as 'irqfds', mirroring the design of KVM's irqfd mechanism. An eventfd is backed by a waitqueue, and when the file descriptor is torn down the kernel fires wake_up_poll() with EPOLLHUP, invoking the registered callback hsm_irqfd_wakeup(), which schedules cleanup on a workqueue via queue_work(&irqfd->shutdown). The flaw is a lifetime-management race: acrn_irqfd_deassign() could simultaneously call hsm_irqfd_shutdown(), which does list_del_init(), eventfd_ctx_remove_wait_queue() and eventfd_ctx_put() before kfree(irqfd), while the already-queued hsm_irqfd_shutdown_work() later recovered the freed object with container_of() and dereferenced irqfd->vm - a classic use-after-free (memory-safety/race class). The upstream fix adopts KVM's irqfd lifetime model: deassign/deinit only deactivate the object by unlinking it from vm->irqfds under irqfds_lock and queuing cleanup work, and hsm_irqfd_shutdown_work() becomes the single owner that detaches the eventfd waitqueue entry, drops the eventfd reference and frees the irqfd. A new HSM_IRQFD_FLAG_SHUTDOWN bit, set via test_and_set_bit(), guarantees the cleanup work is queued at most once across concurrent EPOLLHUP, deassign and deinit events - necessary because the waitqueue callback runs with wqh->lock held and IRQs disabled and therefore cannot take irqfds_lock. Deassign now flushes vm->irqfd_wq before returning, deinit deactivates all irqfds and flushes the workqueue before destroying it, and assign publishes the irqfd to vm->irqfds only after its waitqueue entry is installed, all under irqfds_lock. The affected CPE data identifies the generic Linux kernel (cpe:2.3:a:linux:linux) as the vulnerable component rather than a separate ACRN package, because the HSM driver ships in-tree.

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

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 5.3 MEDIUM

Local ACRN HSM ioctl access (AV:L/PR:L), a timing-dependent race raises AC:H, and a freed-object deref is crash-dominant (A:H) with no real confidentiality (C:N).

3.1 AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:L/A:H
4.0 AV:L/AC:H/AT:P/PR:L/UI:N/VC:N/VI:L/VA:H/SC:N/SI:N/SA:N
SUSE 7.0 HIGH
AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H
Red Hat 5.5 MEDIUM

Primary rating from Vendor (Linux).

CVSS VectorVendor: Linux

Attack Vector
Local
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

4
CVSS changed
Sep 25, 2026 - 05:23 NVD
7.8 (HIGH)
Patch available
Sep 24, 2026 - 17:03 EUVD
CVE Published
Sep 24, 2026 - 16:04 cve.org
HIGH 7.8
CVE Published
Sep 24, 2026 - 16:04 cve.org
UNKNOWN (no severity yet)

DescriptionCVE.org

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

virt: acrn: Fix irqfd use-after-free during eventfd shutdown

acrn_irqfd_deassign() and the eventfd EPOLLHUP wakeup can race and free the same struct hsm_irqfd:

CPU0 CPU1 ---- ---- eventfd_release() wake_up_poll(EPOLLHUP) hsm_irqfd_wakeup() queue_work(&irqfd->shutdown) acrn_irqfd_deassign() hsm_irqfd_shutdown() list_del_init() eventfd_ctx_remove_wait_queue() eventfd_ctx_put() kfree(irqfd) hsm_irqfd_shutdown_work() container_of(work, ..., shutdown) irqfd->vm <-- use-after-free

The deassign path freed the irqfd while a shutdown work item was already queued by EPOLLHUP (or vice versa), so the work item could resurrect a dangling pointer through container_of().

Switch to the lifetime model used by KVM irqfds:

  • Deassign/deinit only deactivate the irqfd: remove it from vm->irqfds

under irqfds_lock and queue the cleanup work.

  • hsm_irqfd_shutdown_work() becomes the sole owner that unhooks the

eventfd waitqueue entry, drops the eventfd reference and frees the irqfd.

  • A new HSM_IRQFD_FLAG_SHUTDOWN bit guarded by test_and_set_bit()

ensures the cleanup work is queued at most once, no matter how many of {EPOLLHUP, deassign, deinit} fire concurrently. This is safe to call from the waitqueue callback, which runs with wqh->lock held and IRQs disabled and therefore cannot take irqfds_lock.

  • acrn_irqfd_deassign() flushes vm->irqfd_wq before returning so the

eventfd is fully detached on return. acrn_irqfd_deinit() deactivates every irqfd, flushes the workqueue and only then destroys it, so no path can queue_work() onto a torn-down workqueue.

  • acrn_irqfd_assign() now installs the eventfd waitqueue entry and

publishes the irqfd to vm->irqfds under irqfds_lock, so the irqfd is never visible to deassign/deinit before its waitqueue entry is in place, and any EPOLLHUP that fires in the assign window queues cleanup work that blocks on irqfds_lock until publication is done.

Executive ViewAI

Why It Matters

Organizations running the ACRN hypervisor stack with the acrn HSM driver loaded on hosts that also run ACRN virtual machines are exposed to a local use-after-free race that can crash the host kernel, disrupting all hosted VMs and services. The vulnerability requires an authenticated local attacker to win a narrow timing window, limiting its practical exploitability, but a successful attack causes high availability impact and limited integrity impact. Leadership should prioritize patching because the fix is available and the affected configuration, while specialized, may exist in edge or virtualized environments.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.1%
Top 98% exploitable
Prevalence
Low
ACRN is a niche embedded/IoT/automotive hypervisor; HSM driver rarely enabled in production
Data Quality
4 sources
Confidence: Medium

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.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.1%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Defer
Exploitation· derived
None
System Exposure· derived
Small
Automatable· derived
No
Human Impact
High

Priority Score

39
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +39
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Vendor StatusVendor

SUSE

Severity: Important
Product Status
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 16.0 Affected

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