CVE-2021-47577

io-wq: check for wq exit after adding new worker task_work

State
Published
Severity
7.8 High
Published
Jun 19, 2024
Updated
Aug 5, 2026
Reserved
May 24, 2024

Read the record on cve.org

Description

In the Linux kernel, the following vulnerability has been resolved:

io-wq: check for wq exit after adding new worker task_work

We check IO_WQ_BIT_EXIT before attempting to create a new worker, and wq exit cancels pending work if we have any. But it's possible to have a race between the two, where creation checks exit finding it not set, but we're in the process of exiting. The exit side will cancel pending creation task_work, but there's a gap where we add task_work after we've canceled existing creations at exit time.

Fix this by checking the EXIT bit post adding the creation task_work. If it's set, run the same cancelation that exit does.

Scores

CVSSScoreVectorSource
3.17.8 HighCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:HLinux

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • 685fe7feedb96771683437107ba72131410e2350 to before 4b4e5bbf9386d4ec21d91c0cb0fd60b9bba778ecAffected
  • 685fe7feedb96771683437107ba72131410e2350 to before 71a85387546e50b1a37b0fa45dadcae3bfb35cf6Affected
LinuxLinux
  • 5.13Affected
  • before 5.13Not affected
  • 5.15.11 through 5.15.*Not affected
  • 5.16 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.