CVE-2026-81636

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

HIGH
8.7
CVSS Score
Published: August 30, 2026 at 06:25 PM UTC
Updated: September 1, 2026 at 09:31 PM UTC
1 product affected across 1 vendorAshGraphql

Using ash_graphql by ash-project?

Get instant alerts when new vulnerabilities affect ash_graphql - before attackers find them.

Real-time alertsTrack your software stackFree plan available
Severity
HIGH8.7
Exploit prediction
EPSS 0.5%
SSVC
PoC

Description

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.

Affected

Our own answer: ranges merged, affected separated from platform-only, with confidence and review flags.

0.16.23 ≤ v < 1.11.00.16.23d8a3e1b15587180ad9cb3ceeb398863d086c163b
Vendor states this is fixed in c3229f6a65cbabb32fd7ffcac881922d1b3b30ad (fixed)
Affected range stops below 1.11.0, so it looks safe — our inference, not a vendor statement

Remediation

No guide yet

No remediation guidance has been written for this CVE yet. What the record does show:

SSVC — Action Prioritization

SSVCPoCAutomatablePartial impact

SSVC signals action urgency (what to patch first), separate from CVSS which measures severity.

CVSS

8.7HIGHEEF
Vector?

Quick Info

StatusDEFERRED
CWE
CWE-770

Get alerted

Stop reading CVE feeds looking for your own stack

Track the products you run and VulnTracker tells you when a new CVE affects them — with what is known about fixing it, and nothing about the rest.

Free plan, no card