CVE-2024-50036 Information
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:
-
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.
-
There is also discussion about removing this count of dst which might happen in future kernels.
CVSS Vector
CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H
Reference
https://git.kernel.org/stable/c/eae7435b48ffc8e9be0ff9cfeae40af479a609dd https://git.kernel.org/stable/c/3c7c918ec0aa3555372c5a57f18780b7a96c5cfc https://git.kernel.org/stable/c/ac888d58869bb99753e7652be19a151df9ecb35d
Attack Complexity
HIGH
Privileges Required
LOW
User Interaction Required
LOW
Scope
NONE
Confidentiality Impact
UNCHANGED
Integrity Impact
HIGH
Availability Impact
HIGH
Base Score
HIGH
Base Severity
7.0
Share on: