Linux Kernel
CVE-2024-35843
HIGH
Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessGain local low-privilege shell on VT-d host
-
DeliveryTrigger concurrent device removal and I/O page fault
-
ExploitWin race between device_rbtree_find() and iopf_get_dev_fault_param()
-
ExecutionDereference freed kernel device structure
-
PersistCorrupt kernel heap via use-after-free
-
ImpactEscalate to root privileges
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Memory lifecycle management
MITRE ATT&CK
2 techniques across 2 tactics: Execution, 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 the target system to have Intel VT-d IOMMU enabled (kernel boot parameter intel_iommu=on or platform default) and at least one PCI device configured for I/O page fault handling - conditions most commonly present on virtualization hosts using PCI passthrough to guest VMs. The attacker must hold a local authenticated low-privilege account (PR:L per CVSS vector) on the host. Crucially, exploitation depends on winning a race condition between two concurrent kernel operations: a device removal from the IOMMU probed-device rbtree and an IOPF interrupt from the same device - a narrow and non-deterministic window that limits reliable exploitation. Systems with IOMMU disabled, systems not using PCI passthrough or IOPF features, and guest VMs (as opposed to the hypervisor host) are not exposed to this code path. |
| Impact | The NVD-assigned CVSS 3.1 score of 8.8 with vector AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H reflects a local, low-privilege, scope-changing kernel attack - characteristic of a kernel privilege escalation primitive. The Scope:Changed metric indicates that successful exploitation transcends the attacker's original privilege boundary, reaching kernel space. However, the AC:L rating appears generous: the defect is a race condition that requires winning a narrow timing window between a concurrent device release and an IOPF interrupt, which in practice demands precise coordination and would more accurately merit AC:H. The EPSS score of 0.22% at the 12th percentile strongly contrasts with the CVSS severity, reflecting that this class of kernel race condition is difficult to exploit reliably without deep kernel internals expertise. The vulnerability is not listed in CISA KEV, and no POC has been identified at time of analysis. The primary risk population is virtualization hosts and cloud infrastructure nodes with Intel VT-d IOMMU enabled and PCI passthrough actively configured - not general-purpose Linux endpoints. |
| Exploit ScenarioDerived | A local attacker with low-privileged shell access on a Linux virtualization host with Intel VT-d IOMMU enabled crafts a scenario where a passthrough PCI device generates an I/O page fault interrupt precisely while the IOMMU subsystem concurrently removes that device from the probed-device tree. If the race window is won, the kernel dereferences a freed device structure in iopf_get_dev_fault_param(), potentially corrupting kernel heap metadata and providing a primitive for privilege escalation to root. No public exploit code for this specific race condition has been identified at time of analysis, and reliable exploitation requires advanced kernel internals knowledge and controlled timing of concurrent kernel operations. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv2 – Aug 04, 2026
Use-after-free in the Linux kernel IOMMU VT-d I/O page fault reporting path allows a local low-privileged attacker to access freed kernel memory, with potential for full privilege escalation across confidentiality, integrity, and availability. The race condition occurs when a PCI device is concurrently released from the IOMMU probed-device rbtree between a device lookup and subsequent fault parameter dereference, a window introduced by an efficiency optimization replacing a global list scan with a red-black tree lookup. No public exploit identified at time of analysis, and the EPSS score of 0.22% (12th percentile) signals low real-world exploitation probability despite the high CVSS score.
Earlier versions of this analysis (1)
Use-after-free in the Linux kernel's Intel VT-d IOMMU subsystem allows a local attacker with low privileges to corrupt kernel memory, potentially escalating to full kernel control on affected systems. The flaw arises from a race condition in the I/O page fault reporting path: a PCI device can be freed by the IOMMU release path between device lookup and fault parameter retrieval, leaving a dangling pointer that is subsequently dereferenced. No public exploit code has been identified and the vulnerability is absent from the CISA KEV catalog, but the CVSS 8.8 score with scope-changed full impact warrants prompt patching of VT-d-enabled Linux hosts, particularly KVM and VFIO-based virtualization platforms.
RemediationAI
Apply the upstream Linux kernel fix by updating to a kernel version incorporating commits 3d39238991e745c5df85785604f037f35d9d1b15 and def054b01a867822254e1dda13d587f5c7a99e2a from https://git.kernel.org/stable/c/. No distribution-specific patched release version number was available in the provided data - monitor your Linux distribution's security advisories (RHSA, USN, DSA, SUSE SA) for kernel updates that backport this fix and apply them promptly. As a compensating control where patching is not immediately feasible, disabling Intel VT-d IOMMU passthrough by setting intel_iommu=off in kernel boot parameters eliminates the affected code path entirely, though this disables IOMMU-based device isolation, potentially impacting security posture in multi-tenant virtualization environments and reducing DMA protection. Alternatively, removing PCI device passthrough configurations from guest VMs prevents IOPF events from reaching the vulnerable handler without fully disabling IOMMU, at the cost of losing direct device assignment functionality.
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 vulnerability lives in the Intel VT-d (Virtualization Technology for Directed I/O) IOMMU subsystem of the Linux kernel, specifically the I/O page fault (IOPF) handler. A refactor replaced the global-list PCI device lookup via pci_get_domain_bus_and_slot() with the more efficient device_rbtree_find(), which searches a red-black tree of probed IOMMU devices in O(log n) time. This optimization introduced a time-of-check to time-of-use (TOCTOU) race: the kernel retrieves a device pointer from the rbtree, but the IOMMU subsystem can release and free that device structure before iopf_get_dev_fault_param() dereferences it, resulting in a classic CWE-416 use-after-free. The fix adds a mutex to serialize the IOPF reporting path and the IOMMU device release path, eliminating the race window. The CPE string cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* reflects that all Linux kernel versions containing the affected optimization are in scope.
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:C/C:H/I:H/A:H
Race condition exploitation requires winning a narrow, non-deterministic timing window in the kernel, warranting AC:H rather than the NVD-assigned AC:L; all other metrics align with NVD.
Primary rating from Vendor (416baaa9-dc9f-4396-8d5f-8c081fb06d67).
CVSS VectorVendor: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Lifecycle Timeline
5DescriptionCVE.org
In the Linux kernel, the following vulnerability has been resolved:
iommu/vt-d: Use device rbtree in iopf reporting path
The existing I/O page fault handler currently locates the PCI device by calling pci_get_domain_bus_and_slot(). This function searches the list of all PCI devices until the desired device is found. To improve lookup efficiency, replace it with device_rbtree_find() to search the device within the probed device rbtree.
The I/O page fault is initiated by the device, which does not have any synchronization mechanism with the software to ensure that the device stays in the probed device tree. Theoretically, a device could be released by the IOMMU subsystem after device_rbtree_find() and before iopf_get_dev_fault_param(), which would cause a use-after-free problem.
Add a mutex to synchronize the I/O page fault reporting path and the IOMMU release device path. This lock doesn't introduce any performance overhead, as the conflict between I/O page fault reporting and device releasing is very rare.
Executive ViewAI
CVE-2024-35843 is a Linux kernel vulnerability in the Intel IOMMU VT-d subsystem enabling local privilege escalation to full system compromise. This affects organizations operating vulnerable Linux kernel versions on Intel IOMMU-equipped infrastructure. Despite high CVSS severity (8.8), real-world exploitation probability remains low with no public exploit identified and a 0.2% EPSS percentile score.
Apply vendor patch.
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
Use-after-free vulnerabilities occur when a program continues to access memory through a pointer after that memory has been deallocated.
Memory corruption occurs when a program writes data beyond the boundaries of allocated memory regions or accesses memory in unintended ways, violating the integrity of the process's address space.
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
NVD
CVE.org
EPSS
VulDB
GitHub PoC
Exploit-DB