CVE-2026-81636: ash-project ash_graphql query-complexity bypass

CVE-2026-81636 · Severity: info · CVSS 0 · Published 2026-08-30

ash_graphql is a GraphQL library used to build API servers. A vulnerability allows attackers to bypass rate-limiting controls that prevent expensive database queries. By crafting specific query patterns, an unauthenticated client can force the server to read far more data than intended, potentially causing database overload and service degradation.

Technologies: Ash-Project Ash Graphql. Vendors: Ash-Project.

Quick answers

Is CVE-2026-81636 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-81636 being exploited in the wild.
How severe is CVE-2026-81636?
Informational severity, with a CVSS score of 0, published 30 August 2026.
Which products and versions are affected?
Ash-Project Ash Graphql 0.16.23 to 1.10.x.
Is there a fix for CVE-2026-81636?
No fixed version is recorded yet. Check the vendor's advisory in the references below. If you run it, Junglewise drafts a mitigation that fits your setup and applies it once you approve, with senior security engineers behind it.
How is CVE-2026-81636 attacked?
It is attacked over the network, in a software library.
Am I affected by CVE-2026-81636?
Check whether you run Ash-Project Ash Graphql at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

Technical details

The vulnerability is a resource-exhaustion flaw in AshGraphql.Graphql.Resolver.query_complexity/3, which calculates GraphQL query cost for complexity-limit enforcement. The function only multiplies child complexity by the requested page size when the :limit argument is present (offset pagination), but fails to account for first and last arguments used in Relay connections and keyset pagination. Nested Relay queries with large first/last values (e.g., posts(first: 500) { edges { node { comments(first: 500) } } }) are incorrectly scored as cheap and bypass Absinthe's max_complexity cap. The fix adds complexity clamping for first and last arguments. No authentication is required; this is a network-accessible denial-of-service vector.

Affected products

  • ash-project ash_graphql 0.16.23 to 1.10.x

Timeline

  • 2026-08-30: published: CVE-2026-81636 published

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.