CVE-2024-46824: iommufd: Require drivers to supply the cache_invalidate_user ops
In the Linux kernel, the following vulnerability has been resolved:
iommufd: Require drivers to supply the cacheinvalidateuser 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 : iommufdhwptinvalidate+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 iommufdfopsioctl+0x154/0x274 arm64sysioctl+0xac/0xf0 invokesyscall+0x48/0x110 el0svccommon.constprop.0+0x40/0xe0 doel0svc+0x1c/0x28 el0svc+0x34/0xb4 el0t64synchandler+0x120/0x12c el0t64sync+0x190/0x194
All existing drivers implement this op for nesting, this is mostly a bisection aid.
Other sources
This CVE was automatically created from a reference found in an email or other text. If you are reading this, then this CVE entry is probably erroneous, since this text should be replaced by the official CVE description automatically.
— Launchpad
Affected Software
Remediation
Event History
Frequently Asked Questions
What is the severity of CVE-2024-46824?
CVE-2024-46824 has a medium severity rating due to its potential to cause kernel crashes and instability in affected systems.
How do I fix CVE-2024-46824?
To fix CVE-2024-46824, update the Linux kernel to a version that includes the patch, such as versions 5.10.223-1, 5.10.226-1, 6.1.123-1, or 6.12.11-1.
Which Linux kernel versions are affected by CVE-2024-46824?
CVE-2024-46824 affects Linux kernel versions from 6.8 to 6.10.10.
Can CVE-2024-46824 lead to system crashes?
Yes, CVE-2024-46824 can cause kernel oops and crashes if the required cache_invalidate_user operations are not supplied by drivers.
Is there a specific configuration needed to mitigate CVE-2024-46824?
No specific configuration is necessary apart from ensuring that your system is updated to include the patched kernel version.