Commit 49fcd89
fuse-io-uring: Fix UAF and NULL deref in startup error path
In fuse_uring_start(), the error path called fuse_session_destruct_uring()
which frees fuse_ring, then stored the freed pointer in se->uring.pool.
On session shutdown, the session loop cleanup checks if (se->uring.pool)
and calls fuse_uring_stop() — dereferencing the freed memory (use-after-free).
Fix by setting se->uring.pool = NULL in the error path so the cleanup
check is skipped. Also add a NULL guard before the destruct call to handle
the case where fuse_create_ring() itself returns NULL, which would cause
a NULL pointer dereference at fuse_ring->nr_queues.
Fixes CVE-2026-33150
Signed-off-by: Abhinav Agarwal <abhinav.agarwal@rubrik.com>1 parent 7beb86c commit 49fcd89
1 file changed
Lines changed: 3 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
925 | 925 | | |
926 | 926 | | |
927 | 927 | | |
928 | | - | |
929 | | - | |
| 928 | + | |
| 929 | + | |
| 930 | + | |
930 | 931 | | |
931 | 932 | | |
932 | 933 | | |
| |||
0 commit comments