Netlink hash table exposes kernel namespace address in Linux
Key facts
- Attack vector
- —
- Privileges required
- —
- User interaction
- —
- Attack complexity
- —
- Impact type
- —
- Confidentiality · integrity · availability
- —
- Fix status
- Partial Red Hat: 7 without a fix
No CVSS vector from any source. Fix status from CNA and Red Hat.
Summary
The Linux kernel netlink subsystem is affected from 4.1 until fixed in the stable releases listed in the solution. The netlink hash table key includes a raw network namespace pointer, and the table bucket order is exposed through /proc/net/netlink and socket diagnostics. An unprivileged local user can use this bucket order to recover the address of init_net, the initial network namespace.
Written with Claude Haiku 5.5 from the sources below · 2026-11-02
Description from the CNA
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.
Why it matters now
SSVC decision points
Not available: CISA has not published SSVC decision points for this record.
Affected products
Remediation
Upgrade the Linux kernel to 5.10.273, 5.15.224, 6.1.191, 6.6.161, 6.12.115, 6.18.59, 7.2.13 or 7.3, matching the stable branch in use. Red Hat Enterprise Linux 6 has no fix planned, and Red Hat Enterprise Linux 7, 8, 9 and 10 and Red Hat OpenShift Container Platform 4 and 5 have no fix available.
Written with Claude Haiku 5.5 from the sources below · 2026-11-02
- Fix · CNA Linux (Linux) Fixed in 5.10.273, 5.15.224, 6.1.191, 6.6.161, 6.12.115, 6.18.59, 7.2.13, 7.3
Vendor assessments
Red Hat
Red Hat rating: Low. Red Hat's page for this CVE →
| Product | Status | Plan or fix |
|---|---|---|
| Red Hat Enterprise Linux 10 | Affected | No fix yet: Fix deferred |
| Red Hat Enterprise Linux 6 | Affected | No fix planned: Out of support scope |
| Red Hat Enterprise Linux 7 | Affected | No fix yet: Fix deferred |
| Red Hat Enterprise Linux 8 | Affected | No fix yet: Fix deferred |
| Red Hat Enterprise Linux 9 | Affected | No fix yet: Fix deferred |
| Red Hat OpenShift Container Platform 4 | Affected | No fix yet: Fix deferred |
| Red Hat OpenShift Container Platform 5 | Affected | No fix yet: Fix deferred |
Timeline
- 2026-10-28 Threatist record created from CVE-2026-99201
- 2026-10-28 Alias added: GHSA-q237-q634-6984
- 2026-10-30 Fix available: Linux/Linux@18edcb9945118beb7a1b64a31a7370ecab485a79, Linux/Linux@41a2f69f091b0765f17890d8ac04852c12f25cf6, Linux/[email protected] +7 · CNA
- 2026-10-30 5 new references · CNA
- 2026-11-02 Affected versions changed · Red Hat
- 2026-11-02 CVSS score added · Red Hat
References
Other 8
- https://git.kernel.org/stable/c/c61431f3b8c9824e9848a0308054f92b27fa7794
- https://git.kernel.org/stable/c/f8d2690f3c5dfad1fc306f6d5d84a1d3176c3af9
- https://git.kernel.org/stable/c/c03fb9c4be3b2dd0996d91e54f65407f7f475238
- https://git.kernel.org/stable/c/41a2f69f091b0765f17890d8ac04852c12f25cf6
- https://git.kernel.org/stable/c/18edcb9945118beb7a1b64a31a7370ecab485a79
- https://git.kernel.org/stable/c/bdd55b8a8acbf6b4840ab420eb6a63774bf4593b
- https://git.kernel.org/stable/c/078deff25f8a849ecd1c3fe17b1e473b1cf44f28
- https://git.kernel.org/stable/c/f88bb3606e4bd11ee035b682cddc2999e604609a
More Linux vulnerabilities
- TI-2025-26358 tls: fix handling of zero-length records on the rx_list KEVCVSS 3.1CRITICAL 9.8
- TI-2026-38352 netfilter: bridge: make ebt_snat ARP rewrite writable KEVCVSS 3.1HIGH 8.8
- TI-2021-02452 Incorrect authorization in Ubuntu linux kernel KEVCVSS 3.1HIGH 8.8
- TI-2013-05264 The (1) get_user and (2) put_user API functions in the Linux kernel before 3.5.5 on the… KEVCVSS 3.1HIGH 8.8
- TI-2022-00125 Integer overflow in kernel KEVCVSS 3.1HIGH 8.4
- TI-2013-01864 The perf_swevent_init function in kernel/events/core.c in the Linux kernel before 3.8.9… KEVCVSS 3.1HIGH 8.4
Sources
- CVE-2026-99201 · CVE Program
- CVE-2026-99201 · NVD
- FIRST EPSS
- GHSA-q237-q634-6984 · GitHub Advisory Database · CC BY 4.0
- CVE-2026-99201 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences