CVE-2021-47248

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>
Configurations

Configuration 1 (hide)

OR cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:5.13:rc1:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:5.13:rc2:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:5.13:rc3:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:5.13:rc4:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:5.13:rc5:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:5.13:rc6:*:*:*:*:*:*

History

30 Apr 2025, 15:21

Type Values Removed Values Added
References () https://git.kernel.org/stable/c/2f73448041bd0682d4b552cfd314ace66107f1ad - () https://git.kernel.org/stable/c/2f73448041bd0682d4b552cfd314ace66107f1ad - Patch
References () https://git.kernel.org/stable/c/5a88477c1c85e4baa51e91f2d40f2166235daa56 - () https://git.kernel.org/stable/c/5a88477c1c85e4baa51e91f2d40f2166235daa56 - Patch
References () https://git.kernel.org/stable/c/65310b0aff86980a011c7c7bfa487a333d4ca241 - () https://git.kernel.org/stable/c/65310b0aff86980a011c7c7bfa487a333d4ca241 - Patch
References () https://git.kernel.org/stable/c/8729ec8a2238152a4afc212a331a6cd2c61aeeac - () https://git.kernel.org/stable/c/8729ec8a2238152a4afc212a331a6cd2c61aeeac - Patch
References () https://git.kernel.org/stable/c/a0882f68f54f7a8b6308261acee9bd4faab5a69e - () https://git.kernel.org/stable/c/a0882f68f54f7a8b6308261acee9bd4faab5a69e - Patch
References () https://git.kernel.org/stable/c/a8b897c7bcd47f4147d066e22cc01d1026d7640e - () https://git.kernel.org/stable/c/a8b897c7bcd47f4147d066e22cc01d1026d7640e - Patch
References () https://git.kernel.org/stable/c/e3c36c773aed0fef8b1d3d555b43393ec564400f - () https://git.kernel.org/stable/c/e3c36c773aed0fef8b1d3d555b43393ec564400f - Patch
CWE CWE-362
CVSS v2 : unknown
v3 : unknown
v2 : unknown
v3 : 4.7
CPE cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:5.13:rc2:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:5.13:rc5:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:5.13:rc6:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:5.13:rc1:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:5.13:rc3:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:5.13:rc4:*:*:*:*:*:*
First Time Linux linux Kernel
Linux

21 Nov 2024, 06:35

Type Values Removed Values Added
References () https://git.kernel.org/stable/c/2f73448041bd0682d4b552cfd314ace66107f1ad - () https://git.kernel.org/stable/c/2f73448041bd0682d4b552cfd314ace66107f1ad -
References () https://git.kernel.org/stable/c/5a88477c1c85e4baa51e91f2d40f2166235daa56 - () https://git.kernel.org/stable/c/5a88477c1c85e4baa51e91f2d40f2166235daa56 -
References () https://git.kernel.org/stable/c/65310b0aff86980a011c7c7bfa487a333d4ca241 - () https://git.kernel.org/stable/c/65310b0aff86980a011c7c7bfa487a333d4ca241 -
References () https://git.kernel.org/stable/c/8729ec8a2238152a4afc212a331a6cd2c61aeeac - () https://git.kernel.org/stable/c/8729ec8a2238152a4afc212a331a6cd2c61aeeac -
References () https://git.kernel.org/stable/c/a0882f68f54f7a8b6308261acee9bd4faab5a69e - () https://git.kernel.org/stable/c/a0882f68f54f7a8b6308261acee9bd4faab5a69e -
References () https://git.kernel.org/stable/c/a8b897c7bcd47f4147d066e22cc01d1026d7640e - () https://git.kernel.org/stable/c/a8b897c7bcd47f4147d066e22cc01d1026d7640e -
References () https://git.kernel.org/stable/c/e3c36c773aed0fef8b1d3d555b43393ec564400f - () https://git.kernel.org/stable/c/e3c36c773aed0fef8b1d3d555b43393ec564400f -
Summary
  • (es) En el kernel de Linux se ha resuelto la siguiente vulnerabilidad: udp: corrige la ejecución entre close() y udp_abort(). Kaustubh informó y diagnosticó un pánico en udp_lib_lookup(). La causa principal es que udp_abort() compite con close(). Ambas funciones de ejecución adquieren el bloqueo del socket, pero udp{v6}_destroy_sock() lo libera antes de realizar acciones destructivas. No podemos extender fácilmente el alcance del bloqueo del socket para evitar la ejecución; en su lugar, usamos el indicador SOCK_DEAD para evitar que udp_abort realice alguna acción cuando ocurre la ejecución crítica. Diagnosticado y probado por: Kaustubh Pandey

21 May 2024, 15:15

Type Values Removed Values Added
New CVE

Information

Published : 2024-05-21 15:15

Updated : 2025-04-30 15:21


NVD link : CVE-2021-47248

Mitre link : CVE-2021-47248

CVE.ORG link : CVE-2021-47248


JSON object : View

Products Affected

linux

  • linux_kernel
CWE
CWE-362

Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition')