Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2024-36884— iommu/arm-smmu: Use the correct type in nvidia_smmu_context_fault()

Quick assessment

Affected
Linux Linux
Exploitation
No confirmed in-the-wild exploitation; assess based on exposure
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel存在安全漏洞,该漏洞源于iommu/arm-smmu模块在nvidia_smmu_context_fault()函数中类型使用错误。

CVSS 7.8 · High EPSS 0.22% · P12

Possible ATT&CK Techniques 1 AI

T1564.004 · NTFS File Attributes

Affected Version Matrix 6

VendorProduct Version RangeStatus
Linux Linux e0976331ad114af8e379e18483c346c6c79ca858< e83de8f05b998e227b48cdeea54cba4c9d66d3aa affected
e0976331ad114af8e379e18483c346c6c79ca858< 65ade5653f5ab5a21635e51d0c65e95f490f5b6f affected
6.8 affected
< 6.8 unaffected
6.8.10≤ 6.8.* unaffected
6.9≤ * unaffected
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2024-36884

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
iommu/arm-smmu: Use the correct type in nvidia_smmu_context_fault()
Source: CVE Program / CVE List V5
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: iommu/arm-smmu: Use the correct type in nvidia_smmu_context_fault() This was missed because of the function pointer indirection. nvidia_smmu_context_fault() is also installed as a irq function, and the 'void *' was changed to a struct arm_smmu_domain. Since the iommu_domain is embedded at a non-zero offset this causes nvidia_smmu_context_fault() to miscompute the offset. Fixup the types. Unable to handle kernel NULL pointer dereference at virtual address 0000000000000120 Mem abort info: ESR = 0x0000000096000004 EC = 0x25: DABT (current EL), IL = 32 bits SET = 0, FnV = 0 EA = 0, S1PTW = 0 FSC = 0x04: level 0 translation fault Data abort info: ISV = 0, ISS = 0x00000004, ISS2 = 0x00000000 CM = 0, WnR = 0, TnD = 0, TagAccess = 0 GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0 user pgtable: 4k pages, 48-bit VAs, pgdp=0000000107c9f000 [0000000000000120] pgd=0000000000000000, p4d=0000000000000000 Internal error: Oops: 0000000096000004 [#1] SMP Modules linked in: CPU: 1 PID: 47 Comm: kworker/u25:0 Not tainted 6.9.0-0.rc7.58.eln136.aarch64 #1 Hardware name: Unknown NVIDIA Jetson Orin NX/NVIDIA Jetson Orin NX, BIOS 3.1-32827747 03/19/2023 Workqueue: events_unbound deferred_probe_work_func pstate: 604000c9 (nZCv daIF +PAN -UAO -TCO -DIT -SSBS BTYPE=--) pc : nvidia_smmu_context_fault+0x1c/0x158 lr : __free_irq+0x1d4/0x2e8 sp : ffff80008044b6f0 x29: ffff80008044b6f0 x28: ffff000080a60b18 x27: ffffd32b5172e970 x26: 0000000000000000 x25: ffff0000802f5aac x24: ffff0000802f5a30 x23: ffff0000802f5b60 x22: 0000000000000057 x21: 0000000000000000 x20: ffff0000802f5a00 x19: ffff000087d4cd80 x18: ffffffffffffffff x17: 6234362066666666 x16: 6630303078302d30 x15: ffff00008156d888 x14: 0000000000000000 x13: ffff0000801db910 x12: ffff00008156d6d0 x11: 0000000000000003 x10: ffff0000801db918 x9 : ffffd32b50f94d9c x8 : 1fffe0001032fda1 x7 : ffff00008197ed00 x6 : 000000000000000f x5 : 000000000000010e x4 : 000000000000010e x3 : 0000000000000000 x2 : ffffd32b51720cd8 x1 : ffff000087e6f700 x0 : 0000000000000057 Call trace: nvidia_smmu_context_fault+0x1c/0x158 __free_irq+0x1d4/0x2e8 free_irq+0x3c/0x80 devm_free_irq+0x64/0xa8 arm_smmu_domain_free+0xc4/0x158 iommu_domain_free+0x44/0xa0 iommu_deinit_device+0xd0/0xf8 __iommu_group_remove_device+0xcc/0xe0 iommu_bus_notifier+0x64/0xa8 notifier_call_chain+0x78/0x148 blocking_notifier_call_chain+0x4c/0x90 bus_notify+0x44/0x70 device_del+0x264/0x3e8 pci_remove_bus_device+0x84/0x120 pci_remove_root_bus+0x5c/0xc0 dw_pcie_host_deinit+0x38/0xe0 tegra_pcie_config_rp+0xc0/0x1f0 tegra_pcie_dw_probe+0x34c/0x700 platform_probe+0x70/0xe8 really_probe+0xc8/0x3a0 __driver_probe_device+0x84/0x160 driver_probe_device+0x44/0x130 __device_attach_driver+0xc4/0x170 bus_for_each_drv+0x90/0x100 __device_attach+0xa8/0x1c8 device_initial_probe+0x1c/0x30 bus_probe_device+0xb0/0xc0 deferred_probe_work_func+0xbc/0x120 process_one_work+0x194/0x490 worker_thread+0x284/0x3b0 kthread+0xf4/0x108 ret_from_fork+0x10/0x20 Code: a9b97bfd 910003fd a9025bf5 f85a0035 (b94122a1)
Source: CVE Program / CVE List V5
CVSS Information
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Source: CVE Program / CVE List V5
Vulnerability Type
N/A
Source: CVE Program / CVE List V5
Vulnerability Title
Linux kernel 安全漏洞
Source: CNNVD (China National Vulnerability Database)
Vulnerability Description
Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel存在安全漏洞,该漏洞源于iommu/arm-smmu模块在nvidia_smmu_context_fault()函数中类型使用错误。
Source: CNNVD (China National Vulnerability Database)
CVSS Information
N/A
Source: CNNVD (China National Vulnerability Database)
Vulnerability Type
N/A
Source: CNNVD (China National Vulnerability Database)

Affected Products

Vendor Product Affected Versions CPE Subscribe
Linux Linux e0976331ad114af8e379e18483c346c6c79ca858 ~ e83de8f05b998e227b48cdeea54cba4c9d66d3aa -
Linux Linux 6.8 -

II. Public POCs for CVE-2024-36884

# POC Description Source Link Shenlong Link
AI-Generated POC Premium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2024-36884

请登录查看更多情报信息。

Other References for CVE-2024-36884 (2)

Same Patch Batch · Linux · 2024-05-30 · 93 CVEs total

CVE-2024-36958 9.8 CRITICAL NFSD: Fix nfsd4_encode_fattr4() crasher
CVE-2024-36886 9.8 CRITICAL tipc: fix UAF in error path
CVE-2024-36911 9.8 CRITICAL hv_netvsc: Don't free decrypted memory
CVE-2024-36912 9.6 CRITICAL Drivers: hv: vmbus: Track decrypted status in vmbus_gpadl
CVE-2024-36913 9.3 CRITICAL Drivers: hv: vmbus: Leak pages if set_memory_encrypted() fails
CVE-2024-36909 9.3 CRITICAL Drivers: hv: vmbus: Don't free ring buffers that couldn't be re-encrypted
CVE-2024-36922 8.8 HIGH wifi: iwlwifi: read txq->read_ptr under lock
CVE-2024-36921 8.8 HIGH wifi: iwlwifi: mvm: guard against invalid STA ID on removal
CVE-2024-36910 8.4 HIGH uio_hv_generic: Don't free decrypted memory
CVE-2024-36032 8.1 HIGH Bluetooth: qca: fix info leak when fetching fw build id
CVE-2024-36933 7.8 HIGH nsh: Restore skb->{protocol,data,mac_header} for outer header in nsh_gso_segment().
CVE-2024-36904 7.8 HIGH tcp: Use refcount_inc_not_zero() in tcp_twsk_unique().
CVE-2024-36914 7.8 HIGH drm/amd/display: Skip on writeback when it's not applicable
CVE-2024-36918 7.8 HIGH bpf: Check bloom filter map value size
CVE-2024-36018 7.8 HIGH nouveau/uvmm: fix addr/range calcs for remap operations
CVE-2024-36894 7.8 HIGH usb: gadget: f_fs: Fix race between aio_cancel() and AIO request complete
CVE-2024-36890 7.8 HIGH mm/slab: make __free(kfree) accept error pointers
CVE-2024-36940 7.8 HIGH pinctrl: core: delete incorrect free in pinctrl_enable()
CVE-2024-36928 7.8 HIGH s390/qeth: Fix kernel panic after setting hsuid
CVE-2024-36883 7.8 HIGH net: fix out-of-bounds access in ops_init

Showing top 20 of 93 CVEs. View all on vendor page &rarr; →

IV. Related Vulnerabilities

V. Comments for CVE-2024-36884

No comments yet


Leave a comment