Description
In the Linux kernel, the following vulnerability has been resolved: sunrpc: harden rq_procinfo lifecycle to prevent double-free The svc_release_rqst() function executes the callback inside rqstp->rq_procinfo->pc_release. However, if a worker thread begins processing a new request and encounters an early error path (e.g., unsupported protocol, short frame, or bad auth) before a valid rq_procinfo is installed, a stale release hook can be re-triggered against reused state from the previous RPC, resulting in a double-free or use-after-free vulnerability. Harden the lifecycle of rq_procinfo by: 1. Ensuring svc_release_rqst() always clears rq_procinfo after the optional pc_release() call, regardless of whether the hook exists. 2. Explicitly clearing rq_procinfo at request entry in svc_process() before any early decode or drop paths. 3. Ensuring svc_process_bc() does the same at backchannel entry. This guarantees that error flows will not encounter a non-NULL stale rq_procinfo pointer when there is nothing to release.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
d9adbb6e10bf7d4223d3d521ede1b2052903bc5e to < 66014ab165cb01bfef5836939412a8ef98d5d5ffaffectedd9adbb6e10bf7d4223d3d521ede1b2052903bc5e to < 31ba490c02d476a5e4f90b8845932ac9db8aa71baffectedd9adbb6e10bf7d4223d3d521ede1b2052903bc5e to < 18d216788bef06332ff8901670ecf1ed8f6eb614affected
Linux Linux
Default version status: affected
6.18affected0 to < 6.18unaffected6.18.40 to ≤ 6.18.*unaffected7.1.5 to ≤ 7.1.*unaffected7.2 to ≤ *unaffected