CVE-2021-47577: io-wq: check for wq exit after adding new worker task_work
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.
Security readout for executives and security teams
Plain-English summary
This is a Linux kernel race condition in io-wq worker handling during shutdown. The public record does not provide CVSS, impact category, or exploitation evidence, so business risk cannot be ranked precisely from the supplied sources alone.
Executive priority
Track and remediate through normal Linux kernel patch management unless vendor guidance raises severity. The lack of CVSS and exploitation evidence prevents a defensible emergency rating from the supplied sources.
Technical view
The flaw occurs when worker creation checks IO_WQ_BIT_EXIT before exit begins, then adds task_work after exit-side cancellation has already run. The kernel fix adds a second EXIT check after task_work creation and applies the same cancellation path when exit is detected.
Likely exposure
Exposure is limited to Linux systems running affected kernel builds identified by the CVE data. The supplied version data is incomplete after flattening, so confirm against kernel stable commits and distribution advisories.
Exploitation context
The source bundle does not cite active exploitation, public exploit availability, or CISA KEV listing. Treat exploitation status as unconfirmed rather than assumed absent.
Researcher notes
The bug is a post-check race around IO_WQ_BIT_EXIT and task_work cancellation. Sources describe the fix logic but do not provide crashability, privilege boundary, proof of concept, or affected distribution package details.
Mitigation direction
Identify Linux kernel versions across servers, appliances, containers hosts, and embedded systems.
Update to vendor-supported kernels containing the referenced upstream stable fixes.
Check distribution advisories for backported fixes and package-specific version names.
Prioritize externally exposed or multi-tenant Linux hosts if affected.
Monitor CVE and vendor records for added severity or exploit information.
Validation and detection
Compare running kernel builds with vendor advisories for CVE-2021-47577.
Verify whether referenced stable commits are present or backported.
Confirm patch status through package changelogs, not only upstream version numbers.
Record any systems awaiting vendor fixes as accepted residual risk.
Recheck CISA KEV and vendor notices during patch planning.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cve · low confidence lookup
CVE-2021-47577 mapping review
Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.