CVE-2026-89545

Summary

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

sunrpc: defer rq_argp and rq_resp free until after RCU grace period

svc_rqst_free() frees rqstp->rq_argp and rqstp->rq_resp synchronously via kfree(), but defers the rqstp struct free via kfree_rcu(). After svc_exit_thread() calls list_del_rcu() and svc_rqst_free(), there is a window where RCU readers that started before list_del_rcu() can still traverse the thread list and find the rqstp. These readers (e.g. nfsd_nl_rpc_status_get_dumpit()) dereference rqstp->rq_argp, which has already been freed — a use-after-free.

Fix this by moving the kfree of rq_argp and rq_resp into an explicit call_rcu() callback alongside the struct free. Resources not accessed by RCU readers (bvec, buffer pages, scratch folio, auth_data) remain synchronously freed.

Affected Software

VendorProductVersion RangeStatus
LinuxLinux812443865c5fc255363d4a684a62c086af1addca < 08bc49e0541260bf294962cf889a32a2d2713ad6affected
LinuxLinux812443865c5fc255363d4a684a62c086af1addca < e0c5693d3f9a5d4911735ab0e0eba4eecb1f1090affected
LinuxLinux812443865c5fc255363d4a684a62c086af1addca < c479bde671cbe2f9e152834a8b0eb7c3c295bbafaffected
LinuxLinux3.19affected
LinuxLinux0 < 3.19unaffected
LinuxLinux6.18.50 <= 6.18.*unaffected
LinuxLinux7.2.4 <= 7.2.*unaffected
LinuxLinux7.3-rc1 <= *unaffected

Weaknesses

References