In the Linux kernel, the following vulnerability has been resolved: nfsd: make sure exp active before svcexportshow The function e_show
was called with protection from RCU. This only ensures that exp
will not be freed. Therefore, the reference count for exp
can drop to zero, which will trigger a refcount use-after-free warning when exp_get
is called. To resolve this issue, use cache_get_rcu
to ensure that exp
remains active. ------------[ cut here ]------------ refcountt: addition on 0; use-after-free. WARNING: CPU: 3 PID: 819 at lib/refcount.c:25 refcountwarnsaturate+0xb1/0x120 CPU: 3 UID: 0 PID: 819 Comm: cat Not tainted 6.12.0-rc3+ #1 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.1-2.fc37 04/01/2014 RIP: 0010:refcountwarnsaturate+0xb1/0x120 ... Call Trace: <TASK> eshow+0x20b/0x230 [nfsd] seqreaditer+0x589/0x770 seqread+0x1e5/0x270 vfsread+0x125/0x530 ksysread+0xc1/0x160 dosyscall64+0x5f/0x170 entrySYSCALL64after_hwframe+0x76/0x7e