CVE-2026-82743
Received Received - Intake

Uncontrolled Resource Consumption in Ash Framework

Vulnerability report for CVE-2026-82743, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-09-01

Last updated on: 2026-09-01

Assigner: EEF

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 Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-09-01
Last Modified
2026-09-01
Generated
2026-09-01
AI Q&A
2026-09-01
EPSS Evaluated
N/A
NVD
EUVD

Affected Vendors & Products

Showing 1 associated CPE
Vendor Product Version / Range
ash-project ash From 2.19.0 (inc) to 3.32.2 (exc)

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-400 The product does not properly control the allocation and maintenance of a limited resource.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

This vulnerability is an uncontrolled resource consumption issue in the Ash framework where a slow asynchronous read operation causes the system to busy-spin at full CPU usage. The function Ash.Actions.Read.AsyncLimiter.await_at_least_one/1 uses a tight loop with Task.yield(task, 0) to poll for task completion instead of blocking, consuming a scheduler thread entirely until the slow read finishes.

Detection Guidance

Monitor for high CPU usage on BEAM scheduler threads during slow async read operations. Check for processes stuck in tight loops by examining Task.yield calls in Ash framework versions 2.19.0 to 3.32.1. Use system monitoring tools like top, htop, or BEAM-specific tools like recon_alloc or observer_cli to detect abnormal CPU consumption patterns.

Impact Analysis

This vulnerability can lead to CPU exhaustion and denial of service. A few concurrent slow requests may tie up all available schedulers, starving the system and potentially crashing the node. It affects applications exposing Ash reads over HTTP, even without authentication, if an attacker can influence query cost.

Mitigation Strategies

Upgrade Ash framework to version 3.32.2 or later to apply the fix. If upgrading is not immediately possible, restrict access to endpoints that trigger slow async reads or implement rate limiting to prevent CPU exhaustion. Monitor system performance closely during peak usage periods.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-82743. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart