CVE-2021-47248 udp: fix race between close() and udp_abort()
A race condition between close() and udp_abort() in the Linux kernel can cause a system panic, leading to denial of service.
- Exploited in the wild
- Not known
- Login needed
- Any signed-in user
- Attackable
- Local or same network only
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2021-47248?
CVE-2021-47248 is a high-severity vulnerability in Linux kernel, published on 21 May 2024. It can only be exploited from the same machine or local network, with no action from the victim.
Official description
In the Linux kernel, the following vulnerability has been resolved:
udp: fix race between close() and udp_abort()
Kaustubh reported and diagnosed a panic in udp_lib_lookup(). The root cause is udp_abort() racing with close(). Both racing functions acquire the socket lock, but udp{v6}_destroy_sock() release it before performing destructive actions.
We can't easily extend the socket lock scope to avoid the race, instead use the SOCK_DEAD flag to prevent udp_abort from doing any action when the critical race happens.
Diagnosed-and-tested-by: Kaustubh Pandey <[email protected]>
Weakness: CWE-362
Which versions are affected by CVE-2021-47248?
It affects 1 product.
Products include Linux kernel.
How do I fix CVE-2021-47248?
Apply the vendor's patch.
Is CVE-2021-47248 being exploited?
There is no known exploitation of CVE-2021-47248 in the wild and no public exploit code.
Other vulnerabilities in Linux kernel
Sources
Also known as DEBIAN-CVE-2021-47248, GHSA-rr3f-v8j5-mmr6, UBUNTU-CVE-2021-47248.