[<prev] [next>] [day] [month] [year] [list]
Message-ID: <2024122757-CVE-2024-56584-dad9@gregkh>
Date: Fri, 27 Dec 2024 15:50:51 +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-56584: io_uring/tctx: work around xa_store() allocation error issue
Description
===========
In the Linux kernel, the following vulnerability has been resolved:
io_uring/tctx: work around xa_store() allocation error issue
syzbot triggered the following WARN_ON:
WARNING: CPU: 0 PID: 16 at io_uring/tctx.c:51 __io_uring_free+0xfa/0x140 io_uring/tctx.c:51
which is the
WARN_ON_ONCE(!xa_empty(&tctx->xa));
sanity check in __io_uring_free() when a io_uring_task is going through
its final put. The syzbot test case includes injecting memory allocation
failures, and it very much looks like xa_store() can fail one of its
memory allocations and end up with ->head being non-NULL even though no
entries exist in the xarray.
Until this issue gets sorted out, work around it by attempting to
iterate entries in our xarray, and WARN_ON_ONCE() if one is found.
The Linux kernel CVE team has assigned CVE-2024-56584 to this issue.
Affected and fixed versions
===========================
Fixed in 6.1.120 with commit 94ad56f61b873ffeebcc620d451eacfbdf9d40f0
Fixed in 6.6.66 with commit 42882b583095dcf747da6e3af1daeff40e27033e
Fixed in 6.12.5 with commit d5b2ddf1f90c7248eff9630b95895c8950f2f36d
Fixed in 6.13-rc1 with commit 7eb75ce7527129d7f1fee6951566af409a37a1c4
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-56584
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:
io_uring/tctx.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/94ad56f61b873ffeebcc620d451eacfbdf9d40f0
https://git.kernel.org/stable/c/42882b583095dcf747da6e3af1daeff40e27033e
https://git.kernel.org/stable/c/d5b2ddf1f90c7248eff9630b95895c8950f2f36d
https://git.kernel.org/stable/c/7eb75ce7527129d7f1fee6951566af409a37a1c4
Powered by blists - more mailing lists