CVE-2024-56584

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

State
Published
Severity
Not scored
Published
Dec 27, 2024
Updated
May 11, 2026
Reserved
Dec 27, 2024

Read the record on cve.org

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.

Scores

The record has no CVSS score.

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • 2b188cc1bb857a9d4701ae59aa7768b5124e262e to before e05c070b401f6365c503e2b59f091331965c4fb9Affected
  • 2b188cc1bb857a9d4701ae59aa7768b5124e262e to before 3a84fa784710990964c1e35df743851ab2863898Affected
  • 2b188cc1bb857a9d4701ae59aa7768b5124e262e to before 94ad56f61b873ffeebcc620d451eacfbdf9d40f0Affected
  • 2b188cc1bb857a9d4701ae59aa7768b5124e262e to before 42882b583095dcf747da6e3af1daeff40e27033eAffected
  • 2b188cc1bb857a9d4701ae59aa7768b5124e262e to before d5b2ddf1f90c7248eff9630b95895c8950f2f36dAffected
  • 2b188cc1bb857a9d4701ae59aa7768b5124e262e to before 7eb75ce7527129d7f1fee6951566af409a37a1c4Affected
LinuxLinux
  • 5.1Affected
  • before 5.1Not affected
  • 5.10.253 through 5.10.*Not affected
  • 5.15.203 through 5.15.*Not affected
  • 6.1.120 through 6.1.*Not affected
  • 6.6.66 through 6.6.*Not affected
  • 6.12.5 through 6.12.*Not affected
  • 6.13 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.