CVE-2024-44993·Kernel vulnerability
In the Linux kernel, the following vulnerability has been resolved: drm/v3d: Fix out-of-bounds read in `v3d_csd_job_run()` When enabling UBSAN on Raspberry Pi 5, we get the following warning: [ 387.894977] UBSAN: array-index-out-of-bounds in drivers/gpu/drm/v3d/v3d_sched.c:320:3 [ 387.903868] index 7 is out of range for type '__u32 [7]' [ 387.909692] CPU: 0 PID: 1207 Comm: kworker/u16:2 Tainted: G WC 6.10.3-v8-16k-numa #151 [ 387.919166] Hardware name: Raspberry Pi 5 Model B Rev 1.0 (DT) [ 387.925961] Workqueue: v3d_csd drm_sched_run_job_work [gpu_sched] [ 387.932525] Call trace: [ 387.935296] dump_backtrace+0x170/0x1b8 [ 387.939403] show_stack+0x20/0x38 [ 387.942907] dump_stack_lvl+0x90/0xd0 [ 387.946785] dump_stack+0x18/0x28 [ 387.950301] __ubsan_handle_out_of_bounds+0x98/0xd0 [ 387.955383] v3d_csd_job_run+0x3a8/0x438 [v3d] [ 387.960707] drm_sched_run_job_work+0x520/0x6d0 [gpu_sched] [ 387.966862] process_one_work+0x62c/0xb48 [ 387.971296] worker_thread+0x468/0x5b0 [ 387.975317] kthread+0x1c4/0x1e0 [ 387.978818] ret_from_fork+0x10/0x20 [ 387.983014] ---[ end trace ]--- This happens because the UAPI provides only seven configuration registers and we are reading the eighth position of this u32 array. Therefore, fix the out-of-bounds read in `v3d_csd_job_run()` by accessing only seven positions on the '__u32 [7]' array. The eighth register exists indeed on V3D 7.1, but it isn't currently used. That being so, let's guarantee that it remains unused and add a note that it could be set in a future patch.
- Severity
- high
- Software
- Kernel
- Fixed in
- 6.10.7
- Published
- 2024-09-04
Affected versions
From: 6.8
Until: 6.10.7
Fixed in: 6.10.7
How to fix this CVE
Update your Linux kernel to version 6.10.7 or later to patch an out-of-bounds array access vulnerability in the V3D GPU driver's compute shader dispatch handling. This memory safety issue could lead to kernel information disclosure or system instability. Apply the patch immediately, especially if you are running Raspberry Pi 5 or systems using the V3D GPU driver.
sudo dnf update kernel kernel-develDefensia detects this vulnerability
How to check if you are affected
- Check your current kernel version: uname -r — you are vulnerable if the version is between 6.8 and 6.10.6 inclusive
- Verify V3D GPU driver is loaded: lsmod | grep v3d — if output is empty, the vulnerable component is not active on your system
- Search kernel logs for UBSAN warnings related to v3d_csd_job_run: sudo grep -i 'ubsan.*v3d_csd_job_run' /var/log/kern.log or dmesg | grep -i 'ubsan.*v3d_csd'
- After patching, verify the new kernel is running: uname -r should report 6.10.7 or later; reboot if needed with sudo reboot
FAQ
What is CVE-2024-44993?
This vulnerability is an out-of-bounds array read in the Linux kernel's V3D GPU driver compute shader dispatch function. The code attempts to access the eighth element of a seven-element configuration register array, which can leak sensitive kernel memory or cause a crash on systems with UBSAN enabled.
Is CVE-2024-44993 being actively exploited?
No, there is no evidence of active exploitation in the wild, nor is a public exploit available. This is primarily a local denial-of-service and information disclosure risk.
What versions of Kernel are affected by CVE-2024-44993?
Linux kernel versions 6.8 through 6.10.6 are vulnerable. Version 6.10.7 and later contain the fix.
How do I check if my server is vulnerable to CVE-2024-44993?
Run uname -r to check your kernel version; if it reports 6.8 through 6.10.6 and lsmod | grep v3d shows the driver is loaded, your system is vulnerable.
Does Defensia detect CVE-2024-44993?
Yes — Defensia's CVE advisory scanner compares installed package versions against the NVD database. If Kernel is installed on a monitored server, CVE-2024-44993 will appear in your dashboard with remediation steps.
Related Kernel CVEs
References
Track CVEs across your fleet automatically
Defensia scans your Linux servers and tells you exactly which ones are running vulnerable versions — including CVE-2024-44993. Free for 1 server.
Get started free