CVE-2026-82743

Ash.Actions.Read.AsyncLimiter busy-spins a scheduler while awaiting slow async reads

State
Published
Severity
2.1 Low
Published
Sep 1, 2026
Updated
Sep 1, 2026
Reserved
Aug 31, 2026

Read the record on cve.org

Description

Uncontrolled Resource Consumption vulnerability in ash-project ash lets a slow asynchronous read spin a scheduler thread at full CPU while the framework waits for it.

Ash.Actions.Read.AsyncLimiter.await_at_least_one/1 (lib/ash/actions/read/async_limiter.ex) waited for concurrent async read tasks by polling each with Task.yield(task, 0) in a tight loop rather than blocking. While every outstanding task is still running (a slow related-data load or calculation), the loop returns immediately and repeats, busy-spinning and holding a BEAM scheduler at full CPU for the whole duration of the slow read; concurrent slow reads tie up further schedulers. The fix waits with Task.yield_many (a non-blocking sweep followed by a blocking wait with timeout: :infinity), so the process sleeps until a task completes instead of spinning.

This issue affects ash: from 2.19.0 before 3.32.2.

Scores

CVSSScoreVectorSource
4.02.1 LowCVSS:4.0/AV:L/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:NEEF

Weaknesses

  • CWE-400 Uncontrolled Resource Consumption

Affected Products

ProductVersions
ashash-project
  • 2.19.0 to before 3.32.2Affected
ashash-project
  • c48cb08026cf56b1ac33209203bc9c00061b40b8 to before 0a5ecd2ffdfa848afdeb8827f02982ef2a63a1cdAffected

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.