CVE-2021-47248
udp: fix race between close() and udp_abort()
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
CISA's decision points: whether it is exploited, whether attacks can be automated, and how much control an attacker gets. Assessed (SSVC 2.0.3).What do these mean? →
- Exploitation: none
- Automatable: no
- Technical impact: partial
Summary
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 <kapandey@codeaurora.org>
Timeline
- CVE published
- CISA SSVC assessment
Exploitation: none · Automatable: no · Technical impact: partial
- Record last updated
Affected versions
- Linux Linux
Version range not reported
- Linux Linux
4.9
References 7
git.kernel.org
- stable/c/e3c36c773aed0fef8b1d3d555b43393ec564400f
- stable/c/a0882f68f54f7a8b6308261acee9bd4faab5a69e
- stable/c/2f73448041bd0682d4b552cfd314ace66107f1ad
- stable/c/5a88477c1c85e4baa51e91f2d40f2166235daa56
- stable/c/8729ec8a2238152a4afc212a331a6cd2c61aeeac
- stable/c/65310b0aff86980a011c7c7bfa487a333d4ca241
- stable/c/a8b897c7bcd47f4147d066e22cc01d1026d7640e