VDB
Sign up

EEF-CVE-2026-82743

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

Quick fix

EEF-CVE-2026-82743 — ash: upgrade to the fixed version with the command below.

mix deps.update ash

Details

## Summary

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.

Are you affected?

Enter the version of the package you're using.

Affected packages

Hex/ash
Introduced in: 2.19.0Fixed in: 3.32.2
Fixmix deps.update ash

References