VDB
Sign up

EEF-CVE-2026-81636

Query-complexity limit bypass via first/last pagination arguments in AshGraphql enables denial of service

Quick fix

EEF-CVE-2026-81636 — ash_graphql: upgrade to the fixed version with the command below.

mix deps.update ash_graphql

Details

## Summary

Allocation of Resources Without Limits or Throttling vulnerability in ash-project ash\_graphql allows an unauthenticated client to bypass the configured GraphQL query-complexity limit and force an unbounded database read.

AshGraphql.Graphql.Resolver.query\_complexity/3 multiplies child complexity by the requested page size only when the argument map contains :limit (offset pagination). Relay connections and keyset pagination use first and last, which never match that clause and fall through to the catch-all that returns child\_complexity + 1. A nested relay query such as posts(first: 500) { edges { node { comments(first: 500) { ... } } } } therefore scores as trivially cheap while materializing the full fan-out, passing an Absinthe max\_complexity cap that rejects the equivalent limit-based query. The fix adds first and last clauses clamped to the action's page size.

This issue affects ash\_graphql: from 0.16.23 before 1.11.0.

Are you affected?

Enter the version of the package you're using.

Affected packages

Hex/ash_graphql
Introduced in: 0.16.23Fixed in: 1.11.0
Fixmix deps.update ash_graphql

References