sunrpc: fix use-after-free in __rpc_clnt_handle_event and __rpc_clnt_remove_pipedir (Linux Linux)
At a glance
- Source
- NVD
- EPSS
- EPSS 0.21 % · percentile 12 ()
- State
- PUBLISHED
- Published
- Updated
- Assigner
- Linux
- NVD status
- Received
Description
In the Linux kernel, the following vulnerability has been resolved: sunrpc: fix use-after-free in __rpc_clnt_handle_event and __rpc_clnt_remove_pipedir Normal client creation goes through rpc_setup_pipedir(), which records clnt->pipefs_sb, but the mount-event path in __rpc_clnt_handle_event() calls rpc_setup_pipedir_sb() directly and never refreshes that field. The umount path also removes the directory without clearing clnt->pipefs_sb. After a late pipefs mount or any remount, rpc_clnt_remove_pipedir() compares the current superblock against a stale pipefs_sb pointer and skips cleanup, leaving pipefs dentries whose inode private data still points at a freed rpc_clnt, leading to a potential use-after-free during subsequent rpc_info_open() or rpc_show_info() calls. Fix this by properly updating clnt->pipefs_sb upon mount events and clearing it during unmount or failure paths.
References
- https://git.kernel.org/stable/c/1a713814e0580f946196bca5e340b37991c6e8bf
- https://git.kernel.org/stable/c/f99fedfd1dbffe8d20b421c9a7d4655a135d4fcd
- https://git.kernel.org/stable/c/59527bbfb1eabdb28e95e7c725886cc2c2899cb3
- https://git.kernel.org/stable/c/e769fcde3cc73e847b1eb3acd40c04a291cb0c0c
- https://git.kernel.org/stable/c/cdf7a233cb94774b0e7df42d9157077983f5022c
- https://git.kernel.org/stable/c/932a8cf6abb2b2f8677b79153a823108d8861fe2
European references
- ENISA EUVD · EUVD-2026-76454
- GCVE · GCVE-0-2026-89543
CERT-FR advisories
- CERTFR-2026-AVI-1289 — Multiples vulnérabilités dans le noyau Linux de Debian LTS · cert.ssi.gouv.fr
- CERTFR-2026-AVI-1253 — Multiples vulnérabilités dans le noyau Linux de Debian · cert.ssi.gouv.fr
Affected products
| Product | Versions |
|---|---|
| Linux · Linux | affected 7749fd2dbef72a52b5c9ffdbf877691950ed4680 < 1a713814e0580f946196bca5e340b37991c6e8bf ; affected cc2e7ebbeb1d0601f7f3c8d93b78fcc03a95e44a < f99fedfd1dbffe8d20b421c9a7d4655a135d4fcd ; affected bfca5fb4e97c46503ddfc582335917b0cc228264 < 59527bbfb1eabdb28e95e7c725886cc2c2899cb3 ; affected bfca5fb4e97c46503ddfc582335917b0cc228264 < e769fcde3cc73e847b1eb3acd40c04a291cb0c0c ; affected bfca5fb4e97c46503ddfc582335917b0cc228264 < cdf7a233cb94774b0e7df42d9157077983f5022c ; affected bfca5fb4e97c46503ddfc582335917b0cc228264 < 932a8cf6abb2b2f8677b79153a823108d8861fe2 |
| Linux · Linux | affected 6.7 ; unaffected 0 < 6.7 ; unaffected 6.1.191 ≤ 6.1.* ; unaffected 6.6.160 ≤ 6.6.* ; unaffected 6.12.111 ≤ 6.12.* ; unaffected 6.18.50 ≤ 6.18.* |
Sources
| Source | Licence |
|---|---|
| CVE List (CVEProject cvelistV5) | CVE Program Terms of Use |
| EPSS (FIRST.org) | FIRST — attribution requested |
| ENISA EUVD | ENISA — reproduction authorised, source acknowledged |
| CERT-FR (ANSSI) | Licence Ouverte / Etalab 2.0 |
| NVD (NIST) via fkie-cad/nvd-json-data-feeds | Public domain — this product uses data from the NVD API but is not endorsed or certified by the NVD |