CVE-2026-82743: CWE-400 Uncontrolled Resource Consumption in ash-project ash
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.
CVSS v4.0
Score 2.1low
Affected software
ash-project
ash
ash-project
ash
cpe:2.3:a:ash-project:ash:*:*:*:*:*:*:*:*Run on your own infrastructure? Check whether these packages are installed with threat-finder — our free open-source scanner.
Weaknesses
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
The vulnerability in ash-project ash arises from the function Ash.Actions.Read.AsyncLimiter.await_at_least_one/1, which waits for concurrent asynchronous read tasks by polling each with Task.yield(task, 0) in a tight loop. This polling immediately returns if tasks are still running, causing the loop to busy-spin and consume full CPU on a BEAM scheduler thread. When multiple slow reads occur concurrently, multiple schedulers can be tied up, leading to uncontrolled resource consumption. The intended fix replaces this with Task.yield_many, which performs a non-blocking sweep followed by a blocking wait with an infinite timeout, allowing the process to sleep until a task completes instead of spinning. The affected versions are ash from 2.19.0 up to but not including 3.32.2.
Potential Impact
The vulnerability causes high CPU usage on BEAM scheduler threads due to busy-wait spinning while waiting for slow asynchronous read tasks. This can degrade performance and responsiveness of applications using affected ash versions, especially under concurrent slow read loads. However, the CVSS score of 2.1 and the low severity rating indicate that the impact is limited and does not lead to privilege escalation, data loss, or remote code execution.
Mitigation Recommendations
Patch status is not yet confirmed — check the vendor advisory for current remediation guidance. The described fix involves updating the code to use Task.yield_many with blocking waits instead of busy polling. Until an official patch is released, users should monitor for vendor updates and consider mitigating high CPU usage by limiting concurrent slow reads or applying custom patches if feasible.
Technical Details
- Data Version
- 5.2
- Assigner Short Name
- EEF
- Date Reserved
- 2026-08-31T01:00:09.774Z
- Cvss Version
- 4.0
- State
- PUBLISHED
Threat ID: 6a964c16acd9273b492d135f
Added to database: 09/01/2026, 03:52:54 UTC
Last enriched: 09/07/2026, 15:06:03 UTC
Last updated: 10/14/2026, 06:48:21 UTC
Views: 85
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.