Skip to main content

CVE-2024-46824: Vulnerability in Linux Linux

Medium
VulnerabilityCVE-2024-46824cvecve-2024-46824
Published: Fri Sep 27 2024 (09/27/2024, 12:39:24 UTC)
Source: CVE
Vendor/Project: Linux
Product: Linux

Description

In the Linux kernel, the following vulnerability has been resolved: iommufd: Require drivers to supply the cache_invalidate_user ops If drivers don't do this then iommufd will oops invalidation ioctls with something like: Unable to handle kernel NULL pointer dereference at virtual address 0000000000000000 Mem abort info: ESR = 0x0000000086000004 EC = 0x21: IABT (current EL), IL = 32 bits SET = 0, FnV = 0 EA = 0, S1PTW = 0 FSC = 0x04: level 0 translation fault user pgtable: 4k pages, 48-bit VAs, pgdp=0000000101059000 [0000000000000000] pgd=0000000000000000, p4d=0000000000000000 Internal error: Oops: 0000000086000004 [#1] PREEMPT SMP Modules linked in: CPU: 2 PID: 371 Comm: qemu-system-aar Not tainted 6.8.0-rc7-gde77230ac23a #9 Hardware name: linux,dummy-virt (DT) pstate: 81400809 (Nzcv daif +PAN -UAO -TCO +DIT -SSBS BTYPE=-c) pc : 0x0 lr : iommufd_hwpt_invalidate+0xa4/0x204 sp : ffff800080f3bcc0 x29: ffff800080f3bcf0 x28: ffff0000c369b300 x27: 0000000000000000 x26: 0000000000000000 x25: 0000000000000000 x24: 0000000000000000 x23: 0000000000000000 x22: 00000000c1e334a0 x21: ffff0000c1e334a0 x20: ffff800080f3bd38 x19: ffff800080f3bd58 x18: 0000000000000000 x17: 0000000000000000 x16: 0000000000000000 x15: 0000ffff8240d6d8 x14: 0000000000000000 x13: 0000000000000000 x12: 0000000000000000 x11: 0000000000000000 x10: 0000000000000000 x9 : 0000000000000000 x8 : 0000001000000002 x7 : 0000fffeac1ec950 x6 : 0000000000000000 x5 : ffff800080f3bd78 x4 : 0000000000000003 x3 : 0000000000000002 x2 : 0000000000000000 x1 : ffff800080f3bcc8 x0 : ffff0000c6034d80 Call trace: 0x0 iommufd_fops_ioctl+0x154/0x274 __arm64_sys_ioctl+0xac/0xf0 invoke_syscall+0x48/0x110 el0_svc_common.constprop.0+0x40/0xe0 do_el0_svc+0x1c/0x28 el0_svc+0x34/0xb4 el0t_64_sync_handler+0x120/0x12c el0t_64_sync+0x190/0x194 All existing drivers implement this op for nesting, this is mostly a bisection aid.

AI-Powered Analysis

AILast updated: 06/28/2025, 18:25:45 UTC

Technical Analysis

CVE-2024-46824 is a vulnerability identified in the Linux kernel's iommufd subsystem, which manages IOMMU (Input-Output Memory Management Unit) functionality. The issue arises because the kernel requires device drivers to implement the cache_invalidate_user operation. If a driver fails to supply this operation, iommufd will attempt to perform invalidation ioctls that lead to a kernel NULL pointer dereference, causing a kernel oops (crash). The vulnerability manifests as a level 0 translation fault due to dereferencing a NULL pointer during the invalidation process, which is triggered by ioctl system calls. The provided kernel log snippet shows the crash occurs in the iommufd_hwpt_invalidate function and propagates through ioctl handling routines. This bug is primarily a stability and reliability issue, as it causes kernel panics when interacting with affected drivers that do not implement the required cache invalidation operation. The description notes that all existing drivers implement this operation for nesting, suggesting that the vulnerability may be limited to newly developed or custom drivers that omit this requirement. The vulnerability does not appear to be exploitable for privilege escalation or arbitrary code execution but can cause denial of service (DoS) by crashing the kernel. No known exploits are reported in the wild, and no CVSS score has been assigned yet. The vulnerability was published on 27 September 2024 and affects Linux kernel versions around the 6.8.0-rc7 release candidate, indicating it is a recent discovery in the development branch.

Potential Impact

For European organizations relying on Linux systems, especially those using custom or less common device drivers that interact with the IOMMU subsystem, this vulnerability could lead to unexpected kernel crashes and system downtime. This is particularly critical for environments requiring high availability, such as data centers, cloud service providers, telecommunications infrastructure, and industrial control systems. The denial of service caused by kernel oopses can disrupt business operations, cause data loss if unsaved data is lost during crashes, and increase operational costs due to system instability. However, since exploitation requires interaction with specific ioctl calls and the presence of drivers lacking the cache_invalidate_user operation, the attack surface is somewhat limited. Systems running standard, well-maintained Linux distributions with up-to-date drivers are less likely to be affected. Nonetheless, organizations deploying custom hardware or virtualization solutions (e.g., QEMU with ARM64 virtualization as indicated in the log) should be cautious. The vulnerability does not appear to compromise confidentiality or integrity directly but impacts availability.

Mitigation Recommendations

European organizations should ensure that their Linux kernel and associated device drivers are updated to versions where this vulnerability is patched. Specifically, kernel maintainers and developers must verify that all drivers interacting with iommufd implement the cache_invalidate_user operation correctly. For organizations using custom or third-party drivers, a thorough code audit should be conducted to confirm compliance with this requirement. Additionally, system administrators should monitor kernel logs for oops or panic messages related to iommufd or invalidation ioctls. In virtualized environments, updating hypervisors and guest kernels to patched versions is critical. Employing kernel live patching solutions where feasible can reduce downtime during patch deployment. As a preventive measure, restricting access to ioctl interfaces related to iommufd to trusted users and processes can minimize the risk of accidental or malicious triggering of the vulnerability. Finally, organizations should maintain robust backup and recovery procedures to mitigate the impact of potential system crashes.

Need more detailed analysis?Get Pro

Technical Details

Data Version
5.1
Assigner Short Name
Linux
Date Reserved
2024-09-11T15:12:18.285Z
Cisa Enriched
true
Cvss Version
null
State
PUBLISHED

Threat ID: 682d9825c4522896dcbe023e

Added to database: 5/21/2025, 9:08:53 AM

Last enriched: 6/28/2025, 6:25:45 PM

Last updated: 8/3/2025, 12:32:18 PM

Views: 16

Actions

PRO

Updates to AI analysis are available only with a Pro account. Contact root@offseq.com for access.

Please log in to the Console to use AI analysis features.

Need enhanced features?

Contact root@offseq.com for Pro access with improved analysis and higher rate limits.

Latest Threats