CVEvulnerability
CVE-2026-89543
- Status
- Received
- Published
- 2026-09-11
- Last modified
- 2026-10-21
- Assigner
- 416baaa9-dc9f-4396-8d5f-8c081fb06d67
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/59527bbfb1eabdb28e95e7c725886cc2c2899cb3 git.kernel.org
- https://git.kernel.org/stable/c/932a8cf6abb2b2f8677b79153a823108d8861fe2 git.kernel.org
- https://git.kernel.org/stable/c/cdf7a233cb94774b0e7df42d9157077983f5022c git.kernel.org
- https://git.kernel.org/stable/c/e769fcde3cc73e847b1eb3acd40c04a291cb0c0c git.kernel.org
- https://git.kernel.org/stable/c/f99fedfd1dbffe8d20b421c9a7d4655a135d4fcd git.kernel.org