CVE-2026-72220
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Summary
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:
- Ensuring svc_release_rqst() always clears rq_procinfo after the optional pc_release() call, regardless of whether the hook exists.
- Explicitly clearing rq_procinfo at request entry in svc_process() before any early decode or drop paths.
- 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 Software
| Vendor | Product | Version Range | Status |
|---|---|---|---|
| Linux | Linux | d9adbb6e10bf7d4223d3d521ede1b2052903bc5e < 66014ab165cb01bfef5836939412a8ef98d5d5ff | affected |
| Linux | Linux | d9adbb6e10bf7d4223d3d521ede1b2052903bc5e < 31ba490c02d476a5e4f90b8845932ac9db8aa71b | affected |
| Linux | Linux | d9adbb6e10bf7d4223d3d521ede1b2052903bc5e < 18d216788bef06332ff8901670ecf1ed8f6eb614 | affected |
| Linux | Linux | 6.18 | affected |
| Linux | Linux | 0 < 6.18 | unaffected |
| Linux | Linux | 6.18.40 <= 6.18.* | unaffected |
| Linux | Linux | 7.1.5 <= 7.1.* | unaffected |
| Linux | Linux | 7.2 <= * | unaffected |
Weaknesses
References
- https://git.kernel.org/stable/c/66014ab165cb01bfef5836939412a8ef98d5d5ff
- https://git.kernel.org/stable/c/31ba490c02d476a5e4f90b8845932ac9db8aa71b
- https://git.kernel.org/stable/c/18d216788bef06332ff8901670ecf1ed8f6eb614
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.