CVE-2024-56584

io_uring/tctx: work around xa_store() allocation error issue

published December 27, 2024

CVSS
—
EPSS
0%
Percentile
14.0
In the wild
Unconfirmed
What it is

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 record
Technical detail
CVSS
Not scored
CVSS v4.0
Not supplied
EPSS
0.00238 · 14.0th percentile
Published
2024-12-27T14:50Z
EPSS history
Timeline
  • 27 DEC 14:50Z
    io_uring/tctx: work around xa_store() allocation error issue
    cvelistv5