# CVE-2024-36971: net: fix __dst_negative_advice() race

> CVE-2024-36971: net: fix __dst_negative_advice() race. CVSS 7.8 (CVSS 3.1), in CISA KEV.

Canonical: https://rewindex.com/cve/CVE-2024-36971
Last updated: 2026-08-05T11:32:22Z

- Published: 2024-06-10 09:03 UTC · Updated: 2026-08-05 11:32 UTC · Assigner: Linux
- CVSS: 7.8 (CVSS 3.1) · Severity: High · Vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
- EPSS: 2.7%, 86th percentile (scored 2026-10-25)
- CISA KEV: yes, added 2024-08-07, federal due date 2024-08-28, ransomware use: Unknown

## 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.

## CISA required action

Apply mitigations per vendor instructions or discontinue use of the product if mitigations are unavailable.

## Affected vendors and products

- linux: linux\_kernel
- Linux: Linux

## References

- [CVE record on cve.org](https://www.cve.org/CVERecord?id=CVE-2024-36971)
- [NVD entry](https://nvd.nist.gov/vuln/detail/CVE-2024-36971)
- [https://git.kernel.org/stable/c/051c0bde9f0450a2ec3d62a86d2a0d2fad117f13](https://git.kernel.org/stable/c/051c0bde9f0450a2ec3d62a86d2a0d2fad117f13)
- [https://git.kernel.org/stable/c/2295a7ef5c8c49241bff769e7826ef2582e532a6](https://git.kernel.org/stable/c/2295a7ef5c8c49241bff769e7826ef2582e532a6)
- [https://git.kernel.org/stable/c/5af198c387128a9d2ddd620b0f0803564a4d4508](https://git.kernel.org/stable/c/5af198c387128a9d2ddd620b0f0803564a4d4508)
- [https://git.kernel.org/stable/c/81dd3c82a456b0015461754be7cb2693991421b4](https://git.kernel.org/stable/c/81dd3c82a456b0015461754be7cb2693991421b4)
- [https://git.kernel.org/stable/c/92f1655aa2b2294d0b49925f3b875a634bd3b59e](https://git.kernel.org/stable/c/92f1655aa2b2294d0b49925f3b875a634bd3b59e)
- [https://git.kernel.org/stable/c/b8af8e6118a6605f0e495a58d591ca94a85a50fc](https://git.kernel.org/stable/c/b8af8e6118a6605f0e495a58d591ca94a85a50fc)
- [https://git.kernel.org/stable/c/db0082825037794c5dba9959c9de13ca34cc5e72](https://git.kernel.org/stable/c/db0082825037794c5dba9959c9de13ca34cc5e72)
- [https://git.kernel.org/stable/c/eacb8b195579c174a6d3e12a9690b206eb7f28cf](https://git.kernel.org/stable/c/eacb8b195579c174a6d3e12a9690b206eb7f28cf)

---

_Sources: CVE records from the CVE Program (cve.org). CVE® is a registered trademark of The MITRE Corporation. (https://www.cve.org/) This product uses data from the NVD API but is not endorsed or certified by the NVD. (https://nvd.nist.gov/) Known Exploited Vulnerabilities catalog from CISA. (https://www.cisa.gov/known-exploited-vulnerabilities-catalog) EPSS scores from FIRST (Exploit Prediction Scoring System). (https://www.first.org/epss/)_


---
Canonical: https://rewindex.com/cve/CVE-2024-36971 · Markdown: https://rewindex.com/cve/CVE-2024-36971.md · JSON: https://rewindex.com/api/v1/cves/CVE-2024-36971 · Data licensed CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/) · Generated 2026-10-26T03:10:18.543Z
