CVEvulnerability
CVE-2026-97597
- Status
- Received
- Published
- 2026-09-25
- Last modified
- 2026-10-21
- Assigner
- 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Description
In the Linux kernel, the following vulnerability has been resolved:
ipv6: flowlabel: cap duplicate leases per socket
ipv6_flowlabel_get() allocates an ipv6_fl_socklist entry for every
successful GET. The recheck path for a compatible existing flowlabel
links another lease without applying any lease admission check. Repeated
GET requests for one shareable label can therefore grow a socket's lease
list without bound.
Reject a new unprivileged lease once the socket already holds
FL_MAX_PER_SOCK leases. Check this on the shared recheck path so reuse
of a globally interned label, including the fl_intern() collision path,
is covered as well. New-label admission remains under the existing
mem_check() policy.
Use capable(CAP_NET_ADMIN) rather than ns_capable(), matching
mem_check(). An unprivileged user must not bypass the cap by creating a
user namespace and a netns where they have CAP_NET_ADMIN, which would
still consume host memory.
Check the capability only when the socket reaches the limit, so
successful unprivileged GET requests below the cap do not generate a
capability audit. Do the admission check before updating linger and
expires so a rejected GET does not refresh the shared label, matching
the existing socket-list allocation failure path.
References
- https://git.kernel.org/stable/c/0159f716d8adbe85951cdf008d0afe27d874eaa6 git.kernel.org
- https://git.kernel.org/stable/c/2f1a6dd5c80ceb902f50449efe899f29cd7918e3 git.kernel.org
- https://git.kernel.org/stable/c/467467bf4209f9f8add0c648bae763f92a0224c3 git.kernel.org
- https://git.kernel.org/stable/c/6d917992c22b6029fc2dc1bd464b7f6709357161 git.kernel.org
- https://git.kernel.org/stable/c/8d6cd188508513503805c156165de38e4e4a8615 git.kernel.org