[<prev] [next>] [day] [month] [year] [list]
Message-ID: <2024122712-CVE-2024-56558-9fd9@gregkh>
Date: Fri, 27 Dec 2024 15:23:09 +0100
From: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
To: linux-cve-announce@...r.kernel.org
Cc: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
Subject: CVE-2024-56558: nfsd: make sure exp active before svc_export_show
Description
===========
In the Linux kernel, the following vulnerability has been resolved:
nfsd: make sure exp active before svc_export_show
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 ]------------
refcount_t: addition on 0; use-after-free.
WARNING: CPU: 3 PID: 819 at lib/refcount.c:25
refcount_warn_saturate+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:refcount_warn_saturate+0xb1/0x120
...
Call Trace:
<TASK>
e_show+0x20b/0x230 [nfsd]
seq_read_iter+0x589/0x770
seq_read+0x1e5/0x270
vfs_read+0x125/0x530
ksys_read+0xc1/0x160
do_syscall_64+0x5f/0x170
entry_SYSCALL_64_after_hwframe+0x76/0x7e
The Linux kernel CVE team has assigned CVE-2024-56558 to this issue.
Affected and fixed versions
===========================
Issue introduced in 3.17 with commit bf18f163e89c52e09c96534db45c4274273a0b34 and fixed in 5.4.287 with commit e2fa0d0e327279a8defb87b263cd0bf288fd9261
Issue introduced in 3.17 with commit bf18f163e89c52e09c96534db45c4274273a0b34 and fixed in 5.10.231 with commit 7fd29d284b55c2274f7a748e6c5f25b4758b8da5
Issue introduced in 3.17 with commit bf18f163e89c52e09c96534db45c4274273a0b34 and fixed in 5.15.174 with commit 6cefcadd34e3c71c81ea64b899a0daa86314a51a
Issue introduced in 3.17 with commit bf18f163e89c52e09c96534db45c4274273a0b34 and fixed in 6.1.120 with commit 7d8f7816bebcd2e7400bb4d786eccb8f33c9f9ec
Issue introduced in 3.17 with commit bf18f163e89c52e09c96534db45c4274273a0b34 and fixed in 6.6.64 with commit 1cecfdbc6bfc89c516d286884c7f29267b95de2b
Issue introduced in 3.17 with commit bf18f163e89c52e09c96534db45c4274273a0b34 and fixed in 6.12.4 with commit 7365d1f8de63cffdbbaa2287ce0205438e1a922f
Issue introduced in 3.17 with commit bf18f163e89c52e09c96534db45c4274273a0b34 and fixed in 6.13-rc1 with commit be8f982c369c965faffa198b46060f8853e0f1f0
Please see https://www.kernel.org for a full list of currently supported
kernel versions by the kernel community.
Unaffected versions might change over time as fixes are backported to
older supported kernel versions. The official CVE entry at
https://cve.org/CVERecord/?id=CVE-2024-56558
will be updated if fixes are backported, please check that for the most
up to date information about this issue.
Affected files
==============
The file(s) affected by this issue are:
fs/nfsd/export.c
Mitigation
==========
The Linux kernel CVE team recommends that you update to the latest
stable kernel version for this, and many other bugfixes. Individual
changes are never tested alone, but rather are part of a larger kernel
release. Cherry-picking individual commits is not recommended or
supported by the Linux kernel community at all. If however, updating to
the latest release is impossible, the individual changes to resolve this
issue can be found at these commits:
https://git.kernel.org/stable/c/e2fa0d0e327279a8defb87b263cd0bf288fd9261
https://git.kernel.org/stable/c/7fd29d284b55c2274f7a748e6c5f25b4758b8da5
https://git.kernel.org/stable/c/6cefcadd34e3c71c81ea64b899a0daa86314a51a
https://git.kernel.org/stable/c/7d8f7816bebcd2e7400bb4d786eccb8f33c9f9ec
https://git.kernel.org/stable/c/1cecfdbc6bfc89c516d286884c7f29267b95de2b
https://git.kernel.org/stable/c/7365d1f8de63cffdbbaa2287ce0205438e1a922f
https://git.kernel.org/stable/c/be8f982c369c965faffa198b46060f8853e0f1f0
Powered by blists - more mailing lists