Skip to main content

Linux Kernel CVE-2026-68329

| EUVDEUVD-2026-55430 HIGH
Race Condition (CWE-362)
2026-08-10 Linux GHSA-2qhp-87pg-jh75
8.8
CVSS 3.1 · Vendor: Linux
View

Attack ChainAIDerived

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

  1. Recon
    Obtain local low-privilege shell on AMD SMP host
  2. Delivery
    Trigger concurrent IOMMU invalidations across two CPUs
  3. Exploit
    Race need_sync lockless read in iommu_completion_wait()
  4. Install
    Force early return before hardware CWAIT completion
  5. C2
    Free page-table pages while IOMMU DMA still active
  6. Execute
    IOMMU walks freed kernel memory (use-after-free)
  7. Impact
    Kernel privilege escalation or cross-VM memory access

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V15 - Secure Coding and Architecture Concurrency control, locking
MITRE ATT&CK

1 technique across 1 tactic: Privilege Escalation

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires all of the following specific conditions: (1) an AMD processor with AMD-Vi (IOMMU) hardware present and the iommu/amd Linux kernel driver active - Intel IOMMU (VT-d) systems are unaffected; (2) symmetric multi-processing (SMP) with at least two CPUs concurrently issuing IOMMU commands to the same IOMMU instance, as the race is strictly between two CPUs sharing one IOMMU's command queue and need_sync flag; (3) local code execution with at minimum low-privilege (PR:L per CVSS vector) sufficient to trigger concurrent kernel-mode IOMMU invalidation paths; (4) active IOMMU usage, typically via DMA-capable device I/O or device passthrough, to produce the necessary command queue activity. Exploitation is limited by the narrow CPU timing window required to win the race between CWAIT queuing and need_sync testing, the AMD-specific hardware dependency, and the absence of any known automation or public tooling. Remote exploitation is not possible - the CVSS AV:L vector confirms the local-only attack surface.

Impact

The vendor-assigned CVSS 3.1 score of 8.8 (AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H) captures the high potential impact of a kernel use-after-free that crosses isolation scope (S:C), but AC:L is arguably optimistic - winning a multi-CPU race against IOMMU hardware completion is a non-trivial timing challenge that better fits AC:H. EPSS at 0.20% (10th percentile) is consistent with unexploited kernel internals bugs requiring specific hardware and timing conditions. The vulnerability is not listed in CISA KEV, and no POC is publicly available. Practical risk is highest in AMD-based cloud and virtualization infrastructure where: (a) IOMMU is actively enforcing DMA isolation between VMs, (b) multiple CPUs are concurrently performing I/O-intensive workloads, and (c) untrusted local code execution is possible. For typical enterprise Linux servers without active AMD IOMMU-backed device passthrough, the exploitation window is narrow. EPSS and absence of KEV/POC together suggest this remains a theoretical priority rather than an actively weaponized flaw, though the kernel stable team's multi-branch backport to six version lines signals they assessed it as a meaningful security boundary violation.

Exploit ScenarioDerived

A local attacker with low-privilege shell access on a multi-CPU AMD server where AMD IOMMU is enabled orchestrates two concurrent threads performing IOMMU-backed DMA operations: one thread queues an IOMMU invalidation command and then frees the associated page-table pages, while a second thread races to call iommu_completion_wait() - reading need_sync == false without holding the lock, bypassing the hardware sync, and returning before the CWAIT hardware signal fires. The IOMMU proceeds to walk the now-freed page-table pages, producing a use-after-free condition that can yield arbitrary kernel memory reads or code execution. No public proof-of-concept exists at time of analysis.

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

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

Alert me

AnalysisAIv1 – Aug 14, 2026

Use-after-free in the Linux kernel AMD IOMMU driver allows a local low-privileged attacker on multi-CPU AMD systems to corrupt kernel memory by exploiting a logical race in iommu_completion_wait(). The need_sync flag was read locklessly, enabling a CPU to return without waiting for hardware IOMMU command completion while another CPU's page-table pages are freed - leaving the IOMMU walking stale, potentially freed memory. No public exploit exists and EPSS is 0.20% (10th percentile), but successful exploitation on AMD virtualization infrastructure could cross IOMMU isolation boundaries affecting co-tenant VMs.

RemediationAI

Upgrade to a patched kernel stable release: 6.6.148, 6.12.101, 6.18.42, 7.1.6, or 7.2-rc5, selecting the branch that corresponds to the currently running kernel series. Upstream fix commits are published at the kernel stable tree references in the CVE. Distribution kernels (RHEL, Ubuntu, SUSE, Debian) should be monitored for corresponding security advisories incorporating these stable backports. If an immediate kernel upgrade is not feasible, the IOMMU can be disabled at boot via the amd_iommu=off kernel parameter - however, this eliminates IOMMU-enforced DMA isolation, which is itself a security boundary in virtualized and multi-tenant environments, trading one risk for another. For virtualization hosts where disabling IOMMU is unacceptable, restricting concurrent local code execution (tighter seccomp profiles, mandatory access control via SELinux/AppArmor, container isolation) reduces the exploitation surface but does not eliminate the race. The NVD advisory is at https://nvd.nist.gov/vuln/detail/CVE-2026-68329.

Affected VersionsENISA

Linux 3.0
Linux 815b33fdc279d34ab40a8bfe1866623a4cc5669b <93494bd446396c257fb589f59894577e96e406e2
Linux 815b33fdc279d34ab40a8bfe1866623a4cc5669b <02f8cefa2ad95ea3754f0cfd6fbae7f866202ccb
Linux patch: 6.6.148
Linux 815b33fdc279d34ab40a8bfe1866623a4cc5669b <ab7faf5a172ebfdc423ebb3eea4d472740de82f9
Linux patch: 7.1.6
Linux 815b33fdc279d34ab40a8bfe1866623a4cc5669b <d053eb7e09e10cbdca3fca8b35c1017d438091b2
Linux patch: 7.2-rc5
Linux 815b33fdc279d34ab40a8bfe1866623a4cc5669b <1e75a8255f11c81fb07e81e5029cfd75804350a0
Linux patch: 6.12.101
Linux patch: 0
Linux patch: 6.18.42

Affected Packages

euvd linux no fix

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

The AMD IOMMU (AMD-Vi) driver in the Linux kernel uses a per-IOMMU need_sync flag to avoid issuing redundant completion-wait (CWAIT) commands to the IOMMU hardware command queue. CWE is unassigned (N/A) in the input, but the root cause is a logical TOCTOU race condition (functionally resembling CWE-362 and CWE-416) - not a memory-visibility issue resolvable with barriers. The flaw exists because need_sync == false guarantees only that a CWAIT was *queued*, not that all prior IOMMU commands *completed* in hardware. The original iommu_completion_wait() read this flag without holding iommu->lock, causing a second CPU to bypass the wait entirely while in-flight IOMMU invalidations from a first CPU had not yet finished. The fix acquires the lock before reading need_sync and, when false, waits on cmd_sem_val (the last allocated sequence number) instead of returning early. The affected CPE is cpe:2.3:a:linux:linux:*:*:*:*:*:*:*:*, covering kernel releases from the introducing commit 815b33fdc279d34ab40a8bfe1866623a4cc5669b (approximately Linux 3.0 era) forward to the patched stable branches.

Know when Amd gets its next vulnerability

  • 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 8.8 HIGH
AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
vuln.today AI 7.8 HIGH

Race condition requires precise multi-CPU timing against hardware IOMMU completion, warranting AC:H over vendor-assigned AC:L; S:C retained as IOMMU bypass can expose co-tenant VM memory.

3.1 AV:L/AC:H/PR:L/UI:N/S:C/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:H/SI:H/SA:H
SUSE 5.5 MEDIUM
AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Red Hat 7.0 MEDIUM

Primary rating from Vendor (Linux).

CVSS VectorVendor: Linux

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

Lifecycle Timeline

4
CVSS changed
Aug 13, 2026 - 23:37 NVD
8.8 (HIGH)
Patch available
Aug 10, 2026 - 14:18 EUVD
CVE Published
Aug 10, 2026 - 12:03 cve.org
HIGH 8.8
CVE Published
Aug 10, 2026 - 12:03 cve.org
UNKNOWN (no severity yet)

DescriptionCVE.org

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

iommu/amd: Wait for completion instead of returning early in iommu_completion_wait()

need_sync is a per-IOMMU flag shared by all domains and devices behind that IOMMU. It is set whenever a command is queued with sync == true and cleared when a completion-wait (CWAIT) command is queued. However, a cleared need_sync only means that a covering CWAIT has been queued, not that all previously queued commands have actually completed in hardware.

iommu_completion_wait() read need_sync locklessly and returned early when it was false. This breaks the "block until all previously queued commands have completed" contract in a multi-CPU scenario:

CPU2: queue inv-B => need_sync = true CPU1: queue CWAIT(N); need_sync = false; then wait_on_sem(N) CPU2: read need_sync == false => return 0 (no wait!)

CPU2 returns without waiting for any sequence number even though its inv-B may not have completed yet (CWAIT(N), queued after inv-B, has not been signaled). CPU2 then proceeds to, for example, free page-table pages while the IOMMU can still walk stale translations, opening a use-after-free window. This is a logical race in the meaning of the flag, not a memory-visibility issue, so barriers alone do not help.

Fix it without losing the optimization of avoiding redundant CWAIT commands: take iommu->lock before testing need_sync, and when it is false do not return early but wait for the last allocated sequence number (cmd_sem_val). Since need_sync == false implies no sync command was queued after the last CWAIT, that CWAIT is FIFO-ordered after every not-yet-completed command, so waiting for its sequence number guarantees all prior commands (possibly queued by another CPU) have completed. The common path with pending work is unchanged and no extra hardware command is issued.

Executive ViewAI

Why It Matters

A kernel vulnerability in AMD-based virtualization systems could allow unauthorized access between isolated virtual machines, risking exposure of sensitive customer data. Organizations operating multi-tenant cloud platforms or virtualized infrastructure on AMD processors must apply available patches to maintain workload isolation and regulatory compliance.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.2%
Top 90% exploitable
Prevalence
High
AMD-based Linux servers common in enterprise and cloud virtualization
Data Quality
5 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.2%
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
Scheduled
Exploitation· derived
None
System Exposure· derived
Small
Automatable· derived
No
Human Impact
High

Priority Score

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

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

Race conditions occur when multiple concurrent requests exploit the brief time gap between checking a condition and acting upon it (TOCTOU - Time of Check, Time of Use).

More in Amd

View all
CVE-2021-22986 CRITICAL POC
9.8 Mar 31

On BIG-IP versions 16.0.x before 16.0.1.1, 15.1.x before 15.1.2.1, 14.1.x before 14.1.4, 13.1.x before 13.1.3.6, and 12.

CVE-2026-46174 HIGH POC
8.8 May 28

Local privilege escalation and information disclosure in the Linux kernel on AMD Zen2 CPUs allows low-privileged users t

CVE-2020-6103 CRITICAL POC
9.9 Jul 20

An exploitable code execution vulnerability exists in the Shader functionality of AMD Radeon DirectX 11 Driver atidxx64.

CVE-2020-6102 CRITICAL POC
9.9 Jul 20

An exploitable code execution vulnerability exists in the Shader functionality of AMD Radeon DirectX 11 Driver atidxx64.

CVE-2020-6101 CRITICAL POC
9.9 Jul 20

An exploitable code execution vulnerability exists in the Shader functionality of AMD Radeon DirectX 11 Driver atidxx64.

CVE-2020-6100 CRITICAL POC
9.9 Jul 20

An exploitable memory corruption vulnerability exists in AMD atidxx64.dll 26.20.15019.19000 graphics driver. Rated criti

CVE-2018-6546 CRITICAL POC
9.8 Apr 13

plays_service.exe in the plays.tv service before 1.27.7.0, as distributed in AMD driver-installation packages and Gaming

CVE-2021-3653 HIGH POC
8.8 Sep 29

A flaw was found in the KVM's AMD code for supporting SVM nested virtualization. Rated high severity (CVSS 8.8), this vu

CVE-2020-12138 HIGH POC
8.8 Apr 27

AMD ATI atillk64.sys 5.11.9.0 allows low-privileged users to interact directly with physical memory by calling one of se

CVE-2019-5098 HIGH POC
8.6 Dec 05

An exploitable out-of-bounds read vulnerability exists in AMD ATIDXX64.DLL driver, version 26.20.13001.29010. Rated high

CVE-2015-7724 HIGH POC
7.8 Jun 07

AMD fglrx-driver before 15.9 allows local users to gain privileges via a symlink attack. Rated high severity (CVSS 7.8),

CVE-2015-7723 HIGH POC
7.8 Jun 07

AMD fglrx-driver before 15.7 allows local users to gain privileges via a symlink attack. Rated high severity (CVSS 7.8),

Vendor StatusVendor

SUSE

Severity: Moderate
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