Summary
CVE-2026-82760 is an inefficient algorithmic complexity (CWE-407) vulnerability in the ash_authentication Elixir library used by applications built on the Ash Framework to implement authentication, including the API Key sign-in strategy. The flaw allows an unauthenticated attacker to submit a crafted, oversized API key value that forces the server to perform extremely expensive decoding work, exhausting CPU and memory before any credential check takes place. The vulnerability carries a CVSS score of 8.2 (also reported as 7.5 by the GitHub Security Advisory using CVSS v3.1), reflecting a high availability impact with no confidentiality or integrity loss.
Technical details
- Root cause: The
AshAuthentication.Base.decode62/1function decodes a base62-encoded string by folding over each character and recomputingInteger.pow(62, index)at every position rather than using an incremental (Horner’s-method-style) accumulation, giving it roughly cubic time complexity relative to input length. The companionbindecode62/1function is quadratic due to its use ofInteger.undigits/2andInteger.digits/2. Independent analysis measured the combined complexity at approximately O(n^2.6). - Trigger conditions: Neither
decode62/1norbindecode62/1validates the byte size of its input before processing.AshAuthentication.Strategy.ApiKey.SignInPreparationsplits a submitted API key into underscore-separated segments and passes them directly into these decoding functions — before any database lookup or authentication check occurs. - Attack vector: Network-based, unauthenticated. An attacker sends an API key sign-in request containing an oversized base62-encoded segment; no valid credentials or prior session are required.
- Impact: CPU and memory exhaustion leading to denial of service. Reported measurements show roughly 60–630ms of CPU cost per request in default configurations; deployments that expose the API key sign-in strategy via request bodies (allowing much larger inputs) can see costs balloon to tens of seconds or longer for larger payloads, effectively allowing a single request to degrade or crash the service.
- Exception-handling (
rescue) clauses in the surrounding code do not mitigate this issue, since they catch raised errors, not excessive CPU/memory consumption.
Affected software
ash_authenticationversions 4.8.0 through 4.14.2 (inclusive)ash_authenticationversions 5.0.0-rc.0 through 5.0.0-rc.13 (inclusive)- Applies to deployments that use the API Key sign-in strategy provided by Ash Authentication
Severity
- CVSS Score: 8.2 (High) — 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
- The vendor advisory additionally rates the issue 7.5 (High) under CVSS v3.1: AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
- Both scorings agree the impact is limited to availability, with no confidentiality or integrity loss, and require no authentication or user interaction.
Mitigation and recommended actions
- Immediate: Upgrade
ash_authenticationto version 4.15.0 (for the 4.x line) or 5.0.0-rc.14 (for the 5.0 release candidate line), both of which add byte-size guards before decoding and re-encoding validation to eliminate the expensive decode path. - If patching is not immediately possible:
- Enforce a maximum length on submitted API key values at the reverse proxy, load balancer, or WAF layer — legitimate API keys are typically well under 80 characters.
- Audit whether your application exposes the API key sign-in strategy through request bodies (as opposed to headers), since body-based exposure allows much larger attacker-controlled payloads and dramatically worsens the impact.
- Confirm web server/proxy header and body size limits remain at safe defaults to constrain the maximum size of attacker-supplied input reaching the vulnerable decoding functions.

