PT-2026-128194
CVE-2026-99201
·
Published
2026-10-28
·
Updated
2026-10-28
Description by
Score
N/A
Not availableNo severity ratings or metrics are available. When they are, we'll update the corresponding info on the page.
In the Linux kernel, the following vulnerability has been resolved:
netlink: avoid hashing the network namespace pointer
The netlink rhashtable key includes a raw struct net pointer and a
user-controlled port ID. Both /proc/net/netlink and socket diagnostics
expose the table's bucket order. By binding and rebinding chosen
NETLINK USERSOCK port IDs, an unprivileged reader can distinguish equal
buckets and recover the low bits of the Jenkins hash. Its 32-bit seed
and the limited set of kernel-image slides can then be searched offline
to recover the address of init net.
Use the namespace's unique, non-address net cookie in the comparison
key instead. It is assigned before the per-net initializers run and
remains unchanged for the namespace's lifetime. The lookup key and
object hash are still built by netlink compare arg init(), keeping
lookup, insertion, removal and rehashing consistent while preserving
namespace separation. Neither public table walker needs to change.
Reading the socket's namespace cookie in netlink compare() is safe
under RCU, including during namespace teardown. netlink release()
removes the socket from the hash table and defers its final put with
call rcu(). cleanup net() runs the per-net exit methods and waits for
outstanding RCU callbacks with rcu barrier() before freeing namespace
storage.
Unlike ns.ns id, net cookie is also available and initialized during
setup net() in older stable kernels, making the change straightforward
to backport to v5.15 and later.
Found an issue in the description? Have something to add? Feel free to write us 👾