CVE-2024-36971

HIGH KEV

Debian Linux < 4.19.316 - Use After Free

Title source: rule

Description

In the Linux kernel, the following vulnerability has been resolved: net: fix __dst_negative_advice() race __dst_negative_advice() does not enforce proper RCU rules when sk->dst_cache must be cleared, leading to possible UAF. RCU rules are that we must first clear sk->sk_dst_cache, then call dst_release(old_dst). Note that sk_dst_reset(sk) is implementing this protocol correctly, while __dst_negative_advice() uses the wrong order. Given that ip6_negative_advice() has special logic against RTF_CACHE, this means each of the three ->negative_advice() existing methods must perform the sk_dst_reset() themselves. Note the check against NULL dst is centralized in __dst_negative_advice(), there is no need to duplicate it in various callbacks. Many thanks to Clement Lecigne for tracking this issue. This old bug became visible after the blamed commit, using UDP sockets.

Exploits (1)

nomisec WRITEUP
by Kronk-imp · poc
https://github.com/Kronk-imp/CVE-2024-36971

Scores

CVSS v3 7.8
EPSS 0.0046
EPSS Percentile 64.2%
Attack Vector LOCAL
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

Details

CISA KEV 2024-08-07
VulnCheck KEV 2024-08-05
InTheWild.io 2024-08-05
ENISA EUVD EUVD-2024-36321
CWE
CWE-416
Status published
Products (9)
debian/debian_linux 10.0
linux/Kernel 4.20.0 - 5.4.278linux
linux/Kernel 4.6.0 - 4.19.316linux
linux/Kernel 5.11.0 - 5.15.161linux
linux/Kernel 5.16.0 - 6.1.94linux
linux/Kernel 5.5.0 - 5.10.219linux
linux/Kernel 6.2.0 - 6.6.34linux
linux/Kernel 6.7.0 - 6.9.4linux
linux/linux_kernel 4.6 - 4.19.316
Published Jun 10, 2024
KEV Added Aug 07, 2024
Tracked Since Feb 18, 2026