Skip to main content

Linux Kernel CVE-2024-35843

HIGH
Use After Free (CWE-416)
2024-05-17 416baaa9-dc9f-4396-8d5f-8c081fb06d67
8.8
CVSS 3.1 · Vendor: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
View

Attack ChainAIDerived

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

  1. Access
    Gain local low-privilege shell on VT-d host
  2. Delivery
    Trigger concurrent device removal and I/O page fault
  3. Exploit
    Win race between device_rbtree_find() and iopf_get_dev_fault_param()
  4. Execution
    Dereference freed kernel device structure
  5. Persist
    Corrupt kernel heap via use-after-free
  6. Impact
    Escalate 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.

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

AnalysisAIv2 – 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)
v1 Aug 04, 2026 - 12:40 cvss changed CVSS 8.8

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

Vendor (416baaa9-dc9f-4396-8d5f-8c081fb06d67) 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 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.

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:P/PR:L/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H

Primary rating from Vendor (416baaa9-dc9f-4396-8d5f-8c081fb06d67).

CVSS VectorVendor: 416baaa9-dc9f-4396-8d5f-8c081fb06d67

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

Lifecycle Timeline

5
Analysis Updated
Aug 04, 2026 - 12:41 vuln.today
v2 - CVSS changed
Analysis Updated
Aug 04, 2026 - 12:40 vuln.today
v1 - CVSS changed
Severity Changed
Aug 04, 2026 - 11:23 NVD
MEDIUM HIGH
CVSS changed
Aug 04, 2026 - 11:23 NVD
6.8 (MEDIUM) 8.8 (HIGH)
CVE Published
May 17, 2024 - 15:15 cve.org
MEDIUM 6.8

DescriptionCVE.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

Why It Matters

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.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.2%
Top 88% exploitable
Prevalence
Ubiquitous
Linux kernel underlies the majority of global server, cloud, and container infrastructure.
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.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

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.

Affected Products (CPE)CVE.org

cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*

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