Skip to main content

Linux Kernel CVE-2026-98002

| EUVDEUVD-2026-86655 HIGH
2026-09-25 Linux GHSA-38jm-2gpc-m9wh
7.8
CVSS 3.1 · Vendor: Linux
View

Attack ChainAIDerived

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

  1. Access
    Local access to iommufd/vIOMMU on AMD host
  2. Delivery
    Exhaust IOMMU domain-ID space or induce OOM
  3. Exploit
    Nested domain alloc returns -ENOSPC
  4. Execution
    u32 store discards sign, '<=0' check bypassed
  5. Persist
    Invalid host domain ID programmed
  6. Impact
    IOMMU misconfiguration and crash/corruption

Vulnerability Assessment

Exploitation Conditions

Requires local access on an AMD host with the IOMMU nested-translation path in use (iommufd/vIOMMU allocating a nested domain via amd_iommu_alloc_domain_nested), so the caller must hold privilege to create IOMMU domains (PR:L). The bug ONLY triggers on the error path: amd_iommu_pdom_id_alloc() must actually FAIL, meaning the IOMMU domain-ID space is exhausted or memory allocation is short (ida_alloc_range returns -ENOSPC/-ENOMEM) - under normal successful allocation the code behaves correctly. Limiting factors: AMD-only IOMMU, a recent (7.x) nested-domain feature, no remote reachability, and the need to force an allocation-failure condition that is not directly attacker-controllable, making reliable exploitation hard (AC:H).

Impact

This is a genuine but low-real-world-risk kernel error-handling bug, and the input signals are internally inconsistent. NVD assigns 7.8 (High) with a fully-local vector (AV:L/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:H), yet the description describes an ineffective error check in AMD IOMMU nested-domain allocation that only manifests when amd_iommu_pdom_id_alloc() FAILS - i.e., when the domain-ID space is exhausted or the system is under memory pressure. That is not a directly attacker-triggerable condition, which is consistent with the AC:H rating but undercuts the C:H/I:H full-triad impact. There is NO EPSS score, NO CISA KEV listing, and NO public exploit - so exploitation status is: no public exploit identified at time of analysis. The description makes no claim of information disclosure, privilege escalation, or data leak; the concrete effect is a nested domain configured with a host domain ID that was never allocated (potentially domain-ID 0 / a colliding ID), which realistically produces IOMMU misconfiguration, corruption, or crash rather than confirmed disclosure. Net: the CVSS C:H/I:H/S:C is overstated for an OOM/ID-exhaustion-gated operator/config path; treat this as a low-priority hardening fix, not an urgent threat. The 'Information Disclosure' tag is not supported by the description (a cross-domain DMA leak is only a theoretical downstream possibility, not stated).

Exploit ScenarioDerived

A local principal with the ability to create nested IOMMU domains (via iommufd/vIOMMU on an AMD host, e.g. a VMM configuring guest DMA translation) drives the host to exhaust the IOMMU domain-ID space or induces memory pressure so amd_iommu_pdom_id_alloc() returns -ENOSPC. Because the negative errno is stored in a u32 before the '<= 0' check, the failure is silently ignored and the nested domain is set up with an invalid/unallocated host domain ID, leading to IOMMU misconfiguration and likely corruption or a crash. No public proof-of-concept exists, and the required allocation-failure state makes reliable triggering difficult (AC:H).

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 kernel error-handling bug in the AMD IOMMU nested-domain allocation path of the Linux kernel (7.x, AMD-Vi/vIOMMU systems) causes domain-ID allocation failures to be silently ignored, so a nested IOMMU domain can be set up using a host domain ID that was never actually allocated. The flaw is reachable only by a locally privileged caller able to create IOMMU domains (iommufd/vIOMMU nested translation) and only when amd_iommu_pdom_id_alloc() actually fails (domain-ID space exhaustion or short memory), so it is a real but difficult-to-trigger error-path defect with no public exploit identified at time of analysis. Notably, the 7.8 NVD-style score (S:C/C:H/I:H/A:H) is inconsistent with the practical impact, which the independent assessment rates as limited integrity and availability gain on the error path only; vendor patches are available.

RemediationAI

Vendor-released patch: stable 7.2.7 and 7.3-rc3 (and their backports) carry the upstream fixes fa5c0827f0b7bac6d0a188f10118151769ae68fd and 80c231f5577229d1e90a1e312b3095f9502f8625, which keep the amd_iommu_pdom_id_alloc() return value in an int, test it there, and store it in gdom_info->hdom_id only after it is known valid - the same discipline the driver's other callers already use; upgrading to a kernel containing either commit is the primary remediation (see https://git.kernel.org/stable/c/80c231f5577229d1e90a1e312b3095f9502f8625). Because the defect is confined to the allocation-failure path and requires local privilege to create IOMMU domains, compensating controls focus on reducing who can exercise that path: restrict access to iommufd/VFIO domain-creation interfaces (for example, limiting /dev/iommu and VFIO device nodes to trusted groups and disabling unprivileged VMM device passthrough), which shrinks the attacker set but breaks legitimate unprivileged virtualisation and does not fix the underlying logic. Administrators who cannot patch immediately can avoid the nested-translation feature (do not configure vIOMMU/nested domains for guests), accepting loss of nested DMA-translation functionality; disabling AMD-Vi entirely (amd_iommu=off) removes the vulnerable code path but also eliminates DMA remapping and device isolation, so it is a poor trade-off on production or virtualisation hosts. Detection is limited: there is no public exploit identified at time of analysis and the failure mode is a silent ID-space accounting error rather than a clean crash, so monitoring for unexpected -ENOSPC-style IOMMU domain allocation errors and for unsupported host domain IDs is advisable after patching.

Affected VersionsENISA

Linux 757d2b1fdf5b7d6eead5963a49b5780617987ab8 <fa5c0827f0b7bac6d0a188f10118151769ae68fd
Linux 7.0
Linux patch: 7.2.7
Linux patch: 7.3-rc3
Linux patch: 0
Linux 757d2b1fdf5b7d6eead5963a49b5780617987ab8 <80c231f5577229d1e90a1e312b3095f9502f8625

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 implements nested translation, allowing a guest-managed page table hierarchy to be composed with a host-managed one - the mechanism used by vIOMMU/iommufd so a hypervisor or user-space VMM can install guest-controlled DMA translation. In this path, amd_iommu_alloc_domain_nested() must reserve a protection/host domain ID by calling amd_iommu_pdom_id_alloc(), which draws from an IDA (ID allocator) ID space and returns an int: a positive domain ID on success, or a negative errno (e.g. -ENOSPC when the ID space is exhausted, -ENOMEM on short allocation). The bug is that the return value is assigned directly into gdom_info->hdom_id, a u32, before the failure check; the signed-to-unsigned conversion turns a negative errno such as -ENOSPC (-28) into 0xffffffe4, so the subsequent 'if (gdom_info->hdom_id <= 0)' test can never fire. Because the check is defeated, the nested domain is initialized with an unallocated host domain ID instead of failing cleanly. The supplied data does not map a CWE, but the root-cause class is improper handling of a signed return value / unchecked allocation failure (conceptually CWE-252 unchecked return value compounded by signedness conversion, CWE-194). Other amd_iommu_pdom_id_alloc() callers already keep the result in an int and validate it before storing, which is the pattern the fix applies here.

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

Local AMD IOMMU nested-domain path (AV:L, PR:L); triggers only on hard-to-force alloc failure (AC:H); no stated disclosure (C:N), misconfig/corruption (I:L) with crash-dominant DoS (A:H).

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:N/PR:L/UI:N/VC:N/VI:L/VA:H/SC:N/SI:N/SA:N
SUSE HIGH
Red Hat 5.5 MEDIUM

Primary rating from Vendor (Linux).

CVSS VectorVendor: Linux

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

Lifecycle Timeline

4
CVSS changed
Sep 25, 2026 - 15:22 NVD
7.8 (HIGH)
Patch available
Sep 25, 2026 - 11:02 EUVD
CVE Published
Sep 25, 2026 - 10:23 cve.org
HIGH 7.8
CVE Published
Sep 25, 2026 - 10:23 cve.org
UNKNOWN (no severity yet)

DescriptionCVE.org

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

iommu/amd: Fix ineffective error check in nested domain allocation

amd_iommu_pdom_id_alloc() returns an int: a domain ID on success, or the negative errno from ida_alloc_range() when the ID space is exhausted or memory is short. amd_iommu_alloc_domain_nested() stores that return value in gdom_info->hdom_id, which is a u32, and only then tests it:

gdom_info->hdom_id = amd_iommu_pdom_id_alloc(); if (gdom_info->hdom_id <= 0) {

The assignment discards the sign, so -ENOSPC becomes 0xffffffe4 and the test never fires. The nested domain is then set up with a host domain ID that was never allocated, instead of the allocation failing with -ENOSPC.

Keep the value in an int, test it there, and store it only once it is known to be valid, which is what the other amd_iommu_pdom_id_alloc() callers already do.

Executive ViewAI

Why It Matters

A kernel error-handling flaw in Linux 7.x affects systems using AMD IOMMU with nested translation (vIOMMU), potentially allowing a locally privileged user to bypass domain-ID allocation checks and obtain limited integrity and availability gains. The risk is confined to environments that enable this feature and allow privileged local access, such as virtualization hosts and multi-tenant platforms, but exploitation is difficult and no public exploit exists. Leadership should prioritize patching because unmitigated, this could undermine host security isolation in those specific configurations.

Business Impact: Low
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.1%
Top 99% exploitable
Prevalence
Low
AMD IOMMU nested-domain (iommufd/vIOMMU) path only; recent 7.x AMD-host feature
Data Quality
3 sources
Confidence: Low

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
Low

Priority Score

39
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +39
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.

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: Important
Product Status
SUSE Linux Enterprise Desktop 15 SP7 Not-Affected
SUSE Linux Enterprise Desktop 15 SP7 Not-Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Not-Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Not-Affected
SUSE Linux Enterprise High Availability Extension 16.0 Not-Affected

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