CVE-2024-40996·Kernel vulnerability
In the Linux kernel, the following vulnerability has been resolved: bpf: Avoid splat in pskb_pull_reason syzkaller builds (CONFIG_DEBUG_NET=y) frequently trigger a debug hint in pskb_may_pull. We'd like to retain this debug check because it might hint at integer overflows and other issues (kernel code should pull headers, not huge value). In bpf case, this splat isn't interesting at all: such (nonsensical) bpf programs are typically generated by a fuzzer anyway. Do what Eric suggested and suppress such warning. For CONFIG_DEBUG_NET=n we don't need the extra check because pskb_may_pull will do the right thing: return an error without the WARN() backtrace.
- Severity
- high
- Software
- Kernel
- Fixed in
- 6.9.7
- Published
- 2024-07-12
Affected versions
From: 6.9
Until: 6.9.7
Fixed in: 6.9.7
How to fix this CVE
Update your Linux kernel to version 6.9.7 or later to resolve this vulnerability. The fix suppresses unnecessary debug warnings in the BPF subsystem that were triggered by malformed eBPF programs, preventing kernel splat messages without compromising security validation. Systems running kernel versions 6.9 through 6.9.6 should prioritize this update to eliminate false-positive debug alerts.
sudo dnf update kernel kernel-develDefensia detects this vulnerability
How to check if you are affected
- Check your current kernel version: uname -r
- Verify if kernel 6.9.0 through 6.9.6 is installed: grep -i 'CONFIG_DEBUG_NET' /boot/config-$(uname -r) to determine if debug networking is enabled
- Search kernel logs for repeated pskb_may_pull warnings: dmesg | grep -i 'pskb_may_pull|pskb_pull_reason' or journalctl -k | grep 'pskb'
- Confirm the patch is applied by checking: grep -i 'pskb_pull_reason' /boot/config-$(uname -r) and verifying kernel version is 6.9.7 or later with uname -r
FAQ
What is CVE-2024-40996?
This vulnerability involves excessive debug warnings in the Linux kernel's BPF subsystem when processing malformed eBPF programs. The debug check in pskb_may_pull generates unnecessary kernel splat messages for fuzzer-generated code without adding security value, cluttering logs and hindering legitimate debugging.
Is CVE-2024-40996 being actively exploited?
No, this vulnerability is not listed in CISA's Known Exploited Vulnerabilities catalog and has no public exploits. It is a quality-of-life fix rather than a critical security patch.
What versions of Kernel are affected by CVE-2024-40996?
Linux kernel versions 6.9.0 through 6.9.6 are affected. Kernel 6.9.7 and later contain the fix.
How do I check if my server is vulnerable to CVE-2024-40996?
Run: uname -r | grep -E '6\.9\.[0-6]($|[^0-9])' — if this command returns a match, your kernel is vulnerable. Additionally verify CONFIG_DEBUG_NET is enabled with: grep CONFIG_DEBUG_NET /boot/config-$(uname -r)
Does Defensia detect CVE-2024-40996?
Yes — Defensia's CVE advisory scanner compares installed package versions against the NVD database. If the Linux kernel is installed on a monitored server, CVE-2024-40996 will appear in your dashboard with remediation steps.
Related Kernel CVEs
References
- https://git.kernel.org/stable/c/2bbe3e5a2f4ef69d13be54f1cf895b4658287080
- https://git.kernel.org/stable/c/5e90258303a358e88737afb5048bee9113beea3a
- https://git.kernel.org/stable/c/7f9644782c559635bd676c12c59389a34ed7c866
- https://git.kernel.org/stable/c/dacc15e9cb248d19e5fc63c54bef0b9b55007761
- https://git.kernel.org/stable/c/2bbe3e5a2f4ef69d13be54f1cf895b4658287080
Track CVEs across your fleet automatically
Defensia scans your Linux servers and tells you exactly which ones are running vulnerable versions — including CVE-2024-40996. Free for 1 server.
Get started free