CVE-2024-38597·Kernel vulnerability
In the Linux kernel, the following vulnerability has been resolved: eth: sungem: remove .ndo_poll_controller to avoid deadlocks Erhard reports netpoll warnings from sungem: netpoll_send_skb_on_dev(): eth0 enabled interrupts in poll (gem_start_xmit+0x0/0x398) WARNING: CPU: 1 PID: 1 at net/core/netpoll.c:370 netpoll_send_skb+0x1fc/0x20c gem_poll_controller() disables interrupts, which may sleep. We can't sleep in netpoll, it has interrupts disabled completely. Strangely, gem_poll_controller() doesn't even poll the completions, and instead acts as if an interrupt has fired so it just schedules NAPI and exits. None of this has been necessary for years, since netpoll invokes NAPI directly.
- Severity
- medium
- Software
- Kernel
- Fixed in
- 6.9.3
- Published
- 2024-06-19
Affected versions
From: 6.9
Until: 6.9.3
Fixed in: 6.9.3
How to fix this CVE
Update your Linux kernel to version 6.9.3 or later to remove the problematic gem_poll_controller() function that caused netpoll deadlocks in sungem ethernet drivers. Systems running kernel versions 6.9 through 6.9.2 should prioritize this update to prevent potential system instability when network polling is invoked. The fix eliminates unnecessary interrupt disabling logic that conflicted with netpoll's requirements.
sudo dnf update kernel kernel-develDefensia detects this vulnerability
How to check if you are affected
- Step 1: Check your kernel version with `uname -r` and verify if it falls within 6.9.0 to 6.9.2 range
- Step 2: Confirm sungem driver is loaded by running `lsmod | grep gem` (applies only to affected hardware with sungem ethernet)
- Step 3: Search system logs for netpoll warnings using `grep -i 'netpoll_send_skb\|gem_poll_controller' /var/log/kern.log /var/log/syslog`
- Step 4: After patching, verify the new kernel is active with `uname -r` and confirm it shows version 6.9.3 or higher
FAQ
What is CVE-2024-38597?
CVE-2024-38597 is a kernel deadlock vulnerability in the sungem ethernet driver where the gem_poll_controller() function improperly handled netpoll invocations by disabling interrupts, causing system hangs and warnings when network polling was triggered.
Is CVE-2024-38597 being actively exploited?
No, CVE-2024-38597 is not listed in CISA's Known Exploited Vulnerabilities catalog and no public exploits are available. This is a stability issue rather than a security bypass vulnerability.
What versions of Kernel are affected by CVE-2024-38597?
Linux kernel versions 6.9.0, 6.9.1, and 6.9.2 are affected. The vulnerability was resolved in kernel 6.9.3 and later stable releases.
How do I check if my server is vulnerable to CVE-2024-38597?
Run `uname -r` to check your kernel version. If the output shows 6.9.0, 6.9.1, or 6.9.2, and your system uses sungem ethernet hardware, you are vulnerable. Check for sungem with `lsmod | grep gem`.
Does Defensia detect CVE-2024-38597?
Yes — Defensia's CVE advisory scanner compares installed package versions against the NVD database. If Kernel is installed on a monitored server, CVE-2024-38597 will appear in your dashboard with remediation steps.
Related Kernel CVEs
References
- https://git.kernel.org/stable/c/476adb3bbbd7886e8251d3b9ce2d3c3e680f35d6
- https://git.kernel.org/stable/c/5de5aeb98f9a000adb0db184e32765e4815d860b
- https://git.kernel.org/stable/c/6400d205fbbcbcf9b8510157e1f379c1d7e2e937
- https://git.kernel.org/stable/c/ac0a230f719b02432d8c7eba7615ebd691da86f4
- https://git.kernel.org/stable/c/e22b23f5888a065d084e87db1eec639c445e677f
Track CVEs across your fleet automatically
Defensia scans your Linux servers and tells you exactly which ones are running vulnerable versions — including CVE-2024-38597. Free for 1 server.
Get started free