Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
ReconRegister many attacker-controlled metadata URLs
-
DeliverySend /authorize requests with each URL as client_id
-
ExploitServer fetches attacker document per URL
-
Installresolve_client/3 upserts permanent DB row per URL
-
C2Multi-megabyte attacker strings inflate row size
-
ExecuteRepeated over time exhausts DB storage and heap memory
-
ImpactService unavailability (DoS)
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V2 - Validation and Business Logic Resource allocation limits
MITRE ATT&CK
1 technique across 1 tactic: Impact The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | The Client ID Metadata Documents (CIMD) feature must be explicitly enabled in the ash_authentication_oauth2_server configuration (cimd_enabled?: true). This is a non-default opt-in feature; deployments without CIMD enabled are entirely unaffected regardless of version. When CIMD is enabled, the /authorize endpoint is unauthenticated by design, so no credentials or session are required, and exploitation is fully remote with no user interaction. Exploitation is limited to versions 0.3.0 (the version introducing CIMD); 0.3.1 resolves the issue. The attacker must be able to serve HTTP responses at attacker-controlled URLs reachable from the server's network (the server fetches attacker-provided metadata documents), meaning outbound HTTP connectivity from the server to arbitrary URLs is also required. |
| Impact | The CVSS 4.0 score of 8.2 (AV:N/AC:L/AT:P/PR:N/UI:N/VA:H) reflects a high-impact, network-exploitable availability threat contingent on a specific deployment condition (AT:P): the CIMD feature must be explicitly enabled. This is a non-default configuration - operators must opt into CIMD, so the realistic exposed population is a subset of all ash_authentication_oauth2_server deployments. Within that subset, exploitation is straightforward: no authentication, no complexity, fully automatable. The impact is availability-only; confidentiality and integrity are unaffected. EPSS data was not provided; given the niche library footprint and configuration dependency, widespread scanning-based exploitation is unlikely but targeted attacks against known CIMD-enabled instances remain plausible. No KEV listing and no public exploit code lower immediate urgency for non-CIMD deployments. Deployments with CIMD enabled and high request volume face the most concrete risk of storage/memory exhaustion. |
| Exploit ScenarioDerived | An attacker hosts a web server that serves valid OAuth2 client metadata documents at thousands of distinct URLs. They send repeated POST requests to the target's /authorize endpoint, each using a different URL as the client_id parameter. Each unique URL triggers resolve_client/3 to fetch the attacker's document and upsert a new permanent database row containing multi-megabyte attacker-controlled strings, while simultaneously filling CIMD.Cache. Continued over hours, this exhausts available database storage and application memory, causing the service to become unavailable. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 07, 2026
Unauthenticated resource exhaustion in ash_authentication_oauth2_server 0.3.0 enables any remote attacker to grow database storage and heap memory without bound when the Client ID Metadata Document (CIMD) feature is enabled. The /authorize endpoint's resolve_client/3 function fetches and permanently upserts one database row per distinct URL-shaped client_id, with no row cap, no TTL-based expiry, and no field-length limit; additionally, fetched documents enter CIMD.Cache before validation, meaning even rejected documents consume cache memory until their TTL expires. No public exploit code or active exploitation has been identified at time of analysis.
RemediationAI
Upgrade to ash_authentication_oauth2_server 0.3.1, the patch-containing release confirmed by the upstream commit at https://github.com/ash-project/ash_authentication_oauth2_server/commit/45e24f69e0f95d67413e2508acc2264156acb5ac. After upgrading, operators using CIMD must also add the new AshAuthentication.Oauth2Server.ClientResource extension to their client resource (use Ash.Resource, extensions: [AshAuthentication.Oauth2Server.ClientResource]), which supplies expunge_expired and touch actions for TTL-based garbage collection (default TTL: 30 days, configurable via cimd_client_ttl). The 0.3.1 release introduces a compile-time check that fails the build if CIMD is enabled without this extension, so misconfigured deployments will be caught at compile time. As an interim workaround prior to upgrading, disabling CIMD (cimd_enabled?: false) fully eliminates the attack surface with the trade-off of losing dynamic client metadata resolution. Rate-limiting or IP-blocking at the reverse proxy on /authorize requests may slow exhaustion but does not address the root unbounded-growth mechanism.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
ash_authentication_oauth2_server is an Elixir library (CPE: cpe:2.3:a:ash-project:ash_authentication_oauth2_server) built on the Ash Framework that implements an OAuth2 authorization server with optional support for Client ID Metadata Documents (CIMD), a dynamic client-registration mechanism where the client_id is a URL from which a metadata document is fetched. The root cause (CWE-770: Allocation of Resources Without Limits or Throttling) manifests in AshAuthentication.Oauth2Server.CIMD.resolve_client/3: it calls Ash upsert on every previously-unseen URL client_id, producing a permanent database row per unique URL with no GC mechanism. Fields sourced from attacker-controlled documents (e.g., multi-megabyte strings) are persisted verbatim, multiplying per-row storage cost. The pre-validation cache insertion compounds the impact by holding rejected documents in memory until TTL expiry. The fix in 0.3.1 introduces a new ClientResource extension supplying a last_used_at timestamp, a touch action, and an expunge_expired destroy action with a configurable 30-day default TTL, plus a compile-time @after_verify assertion that fails the build if CIMD is enabled without the ClientResource extension.
Know when Ash Authentication Oauth2 Server gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
AC:H reflects the required non-default CIMD configuration; no auth, no interaction, and availability-only impact on the vulnerable system.
Primary rating from Vendor (EEF).
CVSS VectorVendor: EEF
DescriptionCVE.org
Allocation of Resources Without Limits or Throttling vulnerability in ash-project ash_authentication_oauth2_server allows an unauthenticated attacker to exhaust database storage and memory.
The /authorize endpoint is unauthenticated by design. With Client ID Metadata Documents enabled, resolve_client/3 in AshAuthentication.Oauth2Server.CIMD fetches the document for each new URL-shaped client_id and upserts a client row, with no cap on the number of rows, no expiry or garbage collection, and no length bound on the fetched fields; the document was also placed in CIMD.Cache before validation, so even rejected documents held cache memory until their TTL. An attacker serving valid documents at many distinct URLs creates one permanent client row per URL, each able to carry multi-megabyte strings, growing storage and memory without bound.
This issue affects ash_authentication_oauth2_server: from 0.3.0 before 0.3.1.
Technical POC Analysis
CWE-770 (Allocation of Resources Without Limits or Throttling) in the Client ID Metadata Document (CIMD) path of ashauthenticationoauth2server 0.3.0.
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
ash_authentication_oauth2_server 0.3.0 contains an unauthenticated resource exhaustion vulnerability allowing remote attackers to degrade service availability by consuming unbounded database storage and heap memory through the /authorize endpoint when CIMD features are enabled; no public exploit identified at time of analysis. Organizations deploying this OAuth2 authentication component risk service disruption and operational costs from resource exhaustion without requiring any authentication credentials.
Apply vendor patch.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.
OAuth2 state-changing protocol endpoints in ash_authentication_oauth2_server (versions 0.1.0 through 0.3.0) are silently
Dynamic Client Registration (DCR) bypass in ash_authentication_oauth2_server versions 0.1.0 through 0.3.0 allows unauthe
WWW-Authenticate header parameter injection in ash_authentication_oauth2_server (versions 0.1.3 through 0.3.0) allows un
SSRF in ash_authentication_oauth2_server 0.3.0 allows an attacker who controls both an OAuth2 client's metadata URL and
Multi-tenant OAuth2 metadata cross-tenant leakage in ash_authentication_oauth2_server (versions 0.1.3 through before 0.3
EUVD-2026-72535
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB