← All Advisories
Reported from OT-Advisories.com as of

CVE-2026-72317

Last refreshed2026-10-17

Status: UPDATED  |  Advisory ID: CVE-2026-72317

Key Details

CVECVE-2026-72317
CVSS Score / Version
9.8 (Critical) / CVSS v3.1
Updated2026-10-16
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CVSS Prose
attack vector is network; attack complexity is low; privileges required is none; user interaction is none; scope is unchanged; confidentiality impact is high; integrity impact is high; availability impact is high.
Affected products
Linux Kernel

Affected Products, Subsystems & Sectors

VendorProductAffected VersionsPatch Status
LinuxLinux Kernel
SubsystemsOT Supporting Infrastructure
SectorsAll Sectors

What to Know

In the Linux kernel, the following vulnerability has been resolved:

SUNRPC: pin upper rpc_clnt across the TLS connect_worker

The TLS connect path has a use-after-free: nothing pins the

upper rpc_clnt across the delayed connect_worker. xs_connect()

stores task->tk_client in sock_xprt::clnt as a raw pointer

and queues the worker; for TLS-secured transports that worker

is xs_tcp_tls_setup_socket(), which reads several fields out

of the saved pointer (cl_timeout, cl_program, cl_prog,

cl_vers, cl_cred, cl_stats) to construct the args for the

inner handshake rpc_clnt.

The xprt does not reference the rpc_clnt; the rpc_clnt

references the xprt. xs_destroy() does cancel the

connect_worker, but it runs only when the xprt's refcount

drops to zero, which cannot happen until the rpc_clnt

releases its cl_xprt reference in rpc_free_client_work().

When a TLS handshake fails fatally (for example, an mTLS

mount whose client cert does not match the server), the

connecting task is woken with -EACCES and exits, the mount

caller invokes rpc_shutdown_client(), and the upper rpc_clnt

is freed before the queued connect_worker fires.

xs_tcp_tls_setup_socket() then dereferences the freed clnt,

producing the refcount_t underflow Michael Nemanov reported.

Take a reference on the upper rpc_clnt in xs_connect() for

TLS transports via a new rpc_hold_client() helper, and drop

it in the connect_worker's exit path with rpc_release_client().

The xprt_lock_connect() / xprt_unlock_connect() pairing

already serialises xs_connect() with xs_tcp_tls_setup_socket(),

so the take and release are balanced one-for-one.

The non-TLS connect worker (xs_tcp_setup_socket) never reads

sock_xprt::clnt, so leave that path alone and avoid the

clnt-holds-xprt-holds-clnt cycle that would otherwise prevent

xprt destruction. (NVD)

What to Do

Monitor Linux's web page for any future patch releases.

References

SourceReference
NVDhttps://nvd.nist.gov/vuln/detail/CVE-2026-72317
CVEhttps://www.cve.org/CVERecord?id=CVE-2026-72317
Report compilation © 2026 OT-Advisories.com  ·  CC BY 4.0  ·  Source materials remain the property of their respective publishers as cited.