Am I affected?

type your ash_authentication_oauth2_server version to check

Description

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.

Weaknesses & attack patterns

Weakness

CWE-770 · Allocation of Resources Without Limits or Throttling in catalog → MITRE ↗

Attack patterns

CAPEC-130 · Excessive Allocation MITRE ↗

Affected — Hex / ash_authentication_oauth2_server Hex.pm ↗ Repository ↗

0.3.0 < 0.3.1 affected
every other version: unaffected
cpe cpe:2.3:a:ash-project:ash_authentication_oauth2_server:*:*:*:*:*:*:*:*
modules · source files · routines
modules 'Elixir.AshAuthentication.Oauth2Server.CIMD'
source files lib/ash_authentication/oauth2_server/cimd.ex
routines 'Elixir.AshAuthentication.Oauth2Server.CIMD':resolve_client/3

Affected — GitHub / ash-project/ash_authentication_oauth2_server Repository ↗

e713a9b < 45e24f6 affected
every other version: unaffected
cpe cpe:2.3:a:ash-project:ash_authentication_oauth2_server:*:*:*:*:*:*:*:*
modules · source files · routines
modules 'Elixir.AshAuthentication.Oauth2Server.CIMD'
source files lib/ash_authentication/oauth2_server/cimd.ex
routines 'Elixir.AshAuthentication.Oauth2Server.CIMD':resolve_client/3

Configurations

Reachable only when the client resource has Client ID Metadata Documents enabled (cimd_enabled?: true) and the authorize endpoint is exposed. CIMD is off by default.

References

Credits

Peter Ullrich Finder Reporter
Zach Daniel / Ash Project Remediation developer
Jonatan Männchen / EEF Coordinator

CVSS breakdown

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
« All CVEs