CVE-2024-46800·Kernel vulnerability
In the Linux kernel, the following vulnerability has been resolved: sch/netem: fix use after free in netem_dequeue If netem_dequeue() enqueues packet to inner qdisc and that qdisc returns __NET_XMIT_STOLEN. The packet is dropped but qdisc_tree_reduce_backlog() is not called to update the parent's q.qlen, leading to the similar use-after-free as Commit e04991a48dbaf382 ("netem: fix return value if duplicate enqueue fails") Commands to trigger KASAN UaF: ip link add type dummy ip link set lo up ip link set dummy0 up tc qdisc add dev lo parent root handle 1: drr tc filter add dev lo parent 1: basic classid 1:1 tc class add dev lo classid 1:1 drr tc qdisc add dev lo parent 1:1 handle 2: netem tc qdisc add dev lo parent 2: handle 3: drr tc filter add dev lo parent 3: basic classid 3:1 action mirred egress redirect dev dummy0 tc class add dev lo classid 3:1 drr ping -c1 -W0.01 localhost # Trigger bug tc class del dev lo classid 1:1 tc class add dev lo classid 1:1 drr ping -c1 -W0.01 localhost # UaF
- Severity
- high
- Software
- Kernel
- Fixed in
- 6.10.10
- Published
- 2024-09-18
Affected versions
From: 6.7
Until: 6.10.10
Fixed in: 6.10.10
How to fix this CVE
Update your Linux kernel to version 6.10.10 or later to resolve a use-after-free vulnerability in the netem qdisc scheduler. This bug occurs when packet enqueueing to an inner qdisc returns a stolen status without properly updating queue length counters, potentially causing memory corruption. Systems using traffic shaping or network emulation features should prioritize this update.
sudo dnf update kernel kernel-develDefensia detects this vulnerability
How to check if you are affected
- Check installed kernel version: uname -r — verify it is 6.10.10 or later
- Confirm if netem qdisc is in use: tc qdisc show | grep netem — if output is empty, direct network exposure is minimal
- Search kernel logs for KASAN UaF reports: sudo dmesg | grep -i 'use-after-free' or sudo journalctl -b | grep -i 'kasan'
- After patching, reboot and re-run uname -r to confirm the new kernel version is active
FAQ
What is CVE-2024-46800?
This is a use-after-free vulnerability in the Linux kernel's netem (network emulation) queue discipline scheduler that occurs when a packet is stolen by an inner qdisc without properly decrementing the parent queue's length counter, leading to potential memory corruption.
Is CVE-2024-46800 being actively exploited?
No, this vulnerability is not listed in CISA's Known Exploited Vulnerabilities (KEV) catalog and no public exploits are currently available. However, it can be triggered locally through crafted tc (traffic control) commands.
What versions of Kernel are affected by CVE-2024-46800?
Linux kernel versions 6.7 through 6.10.9 are vulnerable. Version 6.10.10 and later include the fix.
How do I check if my server is vulnerable to CVE-2024-46800?
Run uname -r and verify your kernel version is at least 6.10.10. If your version is between 6.7 and 6.10.9, you are vulnerable.
Does Defensia detect CVE-2024-46800?
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-46800 will appear in your dashboard with remediation steps.
Related Kernel CVEs
References
- https://git.kernel.org/stable/c/14f91ab8d391f249b845916820a56f42cf747241
- https://git.kernel.org/stable/c/295ad5afd9efc5f67b86c64fce28fb94e26dc4c9
- https://git.kernel.org/stable/c/32008ab989ddcff1a485fa2b4906234c25dc5cd6
- https://git.kernel.org/stable/c/3b3a2a9c6349e25a025d2330f479bc33a6ccb54a
- https://git.kernel.org/stable/c/98c75d76187944296068d685dfd8a1e9fd8c4fdc
Track CVEs across your fleet automatically
Defensia scans your Linux servers and tells you exactly which ones are running vulnerable versions — including CVE-2024-46800. Free for 1 server.
Get started free