Description
In the Linux kernel, the following vulnerability has been resolved:
net: do not delay dst_entries_add() in dst_release()
dst_entries_add() uses per-cpu data that might be freed at netns dismantle from ip6_route_net_exit() calling dst_entries_destroy()
Before ip6_route_net_exit() can be called, we release all the dsts associated with this netns, via calls to dst_release(), which waits an rcu grace period before calling dst_destroy()
dst_entries_add() use in dst_destroy() is racy, because dst_entries_destroy() could have been called already.
Decrementing the number of dsts must happen sooner.
Notes:
1) in CONFIG_XFRM case, dst_destroy() can call dst_release_immediate(child), this might also cause UAF if the child does not have DST_NOCOUNT set. IPSEC maintainers might take a look and see how to address this.
2) There is also discussion about removing this count of dst, which might happen in future kernels.
Metrics
CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:HAffected software
| Vendor | Product | Versions |
|---|---|---|
| Linux | Linux | >= f88649721268999bdff09777847080a52004f691, < 547087307bc19417b4f2bc85ba9664a3e8db5a6a; >= f88649721268999bdff09777847080a52004f691, < e3915f028b1f1c37e87542e5aadd33728c259d96; >= f88649721268999bdff09777847080a52004f691, < a60db84f772fc3a906c6c4072f9207579c41166f; >= f88649721268999bdff09777847080a52004f691, < eae7435b48ffc8e9be0ff9cfeae40af479a609dd; >= f88649721268999bdff09777847080a52004f691, < 3c7c918ec0aa3555372c5a57f18780b7a96c5cfc; >= f88649721268999bdff09777847080a52004f691, < ac888d58869bb99753e7652be19a151df9ecb35d; 86e48c03d774e01ccd71ecba4fc4b5c2bc0b5b41; 591b1e1bb40152e22cee757f493046a0ca946bf8; df90819dafcd6b97fc665f63a15752a570e227a2; 9a4fe697023dbe6c25caa1f8b2153af869a29bd2; >= 3.10.50, < 3.11; >= 3.12.26, < 3.13; >= 3.14.14, < 3.15; >= 3.15.7, < 3.16 |
| Linux | Linux | 3.16 |
References
- https://git.kernel.org/stable/c/3c7c918ec0aa3555372c5a57f18780b7a96c5cfcPatch
- https://git.kernel.org/stable/c/547087307bc19417b4f2bc85ba9664a3e8db5a6a
- https://git.kernel.org/stable/c/a60db84f772fc3a906c6c4072f9207579c41166f
- https://git.kernel.org/stable/c/ac888d58869bb99753e7652be19a151df9ecb35dPatch
- https://git.kernel.org/stable/c/e3915f028b1f1c37e87542e5aadd33728c259d96
- https://git.kernel.org/stable/c/eae7435b48ffc8e9be0ff9cfeae40af479a609ddPatch
- https://lists.debian.org/debian-lts-announce/2025/01/msg00001.html
- https://lists.debian.org/debian-lts-announce/2025/03/msg00002.html
Timeline
- Published
- Oct 21, 2024
- Last modified
- Aug 4, 2026
- NVD status
- Modified