CVE-2024-46683·Kernel vulnerability
In the Linux kernel, the following vulnerability has been resolved: drm/xe: prevent UAF around preempt fence The fence lock is part of the queue, therefore in the current design anything locking the fence should then also hold a ref to the queue to prevent the queue from being freed. However, currently it looks like we signal the fence and then drop the queue ref, but if something is waiting on the fence, the waiter is kicked to wake up at some later point, where upon waking up it first grabs the lock before checking the fence state. But if we have already dropped the queue ref, then the lock might already be freed as part of the queue, leading to uaf. To prevent this, move the fence lock into the fence itself so we don't run into lifetime issues. Alternative might be to have device level lock, or only release the queue in the fence release callback, however that might require pushing to another worker to avoid locking issues. References: https://gitlab.freedesktop.org/drm/xe/kernel/-/issues/2454 References: https://gitlab.freedesktop.org/drm/xe/kernel/-/issues/2342 References: https://gitlab.freedesktop.org/drm/xe/kernel/-/issues/2020 (cherry picked from commit 7116c35aacedc38be6d15bd21b2fc936eed0008b)
- Severity
- high
- Software
- Kernel
- Fixed in
- 6.10.8
- Published
- 2024-09-13
Affected versions
From: 6.10
Until: 6.10.8
Fixed in: 6.10.8
How to fix this CVE
Update your Linux kernel to version 6.10.8 or later to resolve a use-after-free vulnerability in the DRM/XE driver's preempt fence handling. This flaw could allow local authenticated attackers to trigger memory corruption by exploiting improper lock lifetime management. Apply the patch immediately on systems running affected kernel versions 6.10 through 6.10.7.
sudo dnf update kernel kernel-develDefensia detects this vulnerability
How to check if you are affected
- Step 1: Check your current kernel version with `uname -r` and verify if it falls within 6.10.0 to 6.10.7
- Step 2: Confirm the DRM/XE graphics driver is in use by running `lspci | grep -i vga` and `lsmod | grep xe` to check for loaded xe module
- Step 3: Search system logs for fence-related warnings or UAF indicators with `dmesg | grep -i 'fence\|use.after.free\|uaf'`
- Step 4: After patching, verify the new kernel version with `uname -r` and confirm it shows 6.10.8 or higher, then reboot if necessary
FAQ
What is CVE-2024-46683?
CVE-2024-46683 is a use-after-free vulnerability in the Linux kernel's DRM/XE (Intel Xe graphics) driver where the preempt fence lock is freed prematurely, allowing waiting threads to access memory that has already been released.
Is CVE-2024-46683 being actively exploited?
No, CVE-2024-46683 is not listed on the CISA Known Exploited Vulnerabilities catalog and no public exploit code is currently available.
What versions of Kernel are affected by CVE-2024-46683?
Linux kernel versions 6.10.0 through 6.10.7 are affected. Kernel 6.10.8 and later contain the fix.
How do I check if my server is vulnerable to CVE-2024-46683?
Run `uname -r` to check your kernel version; if it shows 6.10.0 to 6.10.7 and you have the xe graphics driver loaded (check with `lsmod | grep xe`), your system is vulnerable.
Does Defensia detect CVE-2024-46683?
Yes — Defensia's CVE advisory scanner compares installed package versions against the NVD database. If Kernel is installed on a monitored server, CVE-2024-46683 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-46683. Free for 1 server.
Get started free