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:

  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.

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: