Vulnerability advisory

CVE-2026-81633

Unhandled KeyError in AshGraphql relay node resolution crashes queries via an unknown type segment

Published Updated OSV record ↗

Also known as EEF-CVE-2026-81633GHSA-mrgv-g7gf-r96h

Severity
  • CVSS 4.0CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N

Affected versions

Repository

Affected commitsFixed by commit
GIT github.com/ash-project/ash_graphql ↗
365b3aedc6b36f020e6a2c7dce63fa569243bc4e to before c8863ed8e5c21f1bfb6125f1d24e78443dfc6351c8863ed8e5c21f1bfb6125f1d24e78443dfc6351
4c1f8a2d1a3de21d8bb141f6349f82e4f1c88f4a to before 4e2c5476ecfd2c701488627ee46e6eefc58c982e4e2c5476ecfd2c701488627ee46e6eefc58c982e
Also listed as affected (60)
  • v1.10.1
  • v1.10.0
  • v1.9.4
  • v1.9.3
  • v1.9.2
  • v1.9.1
  • v1.9.0
  • v1.8.5
  • v1.8.4
  • v1.8.3
  • v1.8.2
  • v1.8.1
  • v1.8.0
  • v1.7.17
  • v1.7.16
  • v1.7.15
  • v1.7.14
  • v1.7.13
  • v1.7.12
  • v1.7.11
  • v1.7.10
  • v1.7.9
  • v1.7.8
  • v1.7.7
  • v1.7.6
  • v1.7.5
  • v1.7.4
  • v1.7.3
  • v1.7.2
  • v1.7.1
  • v1.7.0
  • v1.6.0
  • v1.5.1
  • v1.5.0
  • v1.4.7
  • v1.4.6
  • v1.4.4
  • v1.4.3
  • v1.4.2
  • v1.4.1
  • v1.4.0
  • v1.3.4
  • v1.3.3
  • v1.3.2
  • v1.3.1
  • v1.3.0
  • v1.2.1
  • v1.1.1
  • v1.0.1
  • v1.0.0
  • 1.0.0
  • v1.0.0-rc.5
  • v1.0.0-rc.4
  • v1.0.0-rc.3
  • v1.0.0-rc.2
  • v0.28.0
  • v1.0.0-rc.1
  • v1.0.0-rc.0
  • v0.27.1
  • v0.27.0

Description

Improper Input Validation vulnerability in ash-project ash_graphql allows an unauthenticated client to crash a relay node(id: ...) query with an unhandled KeyError.

AshGraphql.Graphql.Resolver.resolve_node/2 decodes the client-supplied global ID with decode_relay_id/1, which only base64-decodes the string and splits it on : without validating the type segment. The decoded type is passed straight to Map.fetch!(type_to_domain_and_resource_map, type). Because fetch! raises on a missing key, a relay ID whose type segment is a valid atom that is not a relay-exposed type aborts the resolver before its resolve/2 clauses and their rescue handlers run, so the error never becomes a GraphQL error and may expose a stacktrace. Common resource names are easy to guess. The fix uses Map.fetch/2 and returns an Invalid node id error for unknown types.

This issue affects ash_graphql: from 0.27.0 before 1.11.0.

References

  • Codex
  • Claude Code
  • VS Code
  • GitHub Copilot
  • Cursor
  • Cline
  • Windsurf
  • Google Anti-gravity
  • OpenCode
  • Pi
  • Gemini CLI
  • Hermes Agent
  • Zed
  • Junie
  • Qwen Code
  • Kiro
  • Kilo Code
  • Factory Droid

Set up GitHits for your agents

Run this command:

<> bash
npx githits@latest init

What happens next:

  1. Opens your browser to authorize GitHits
  2. Asks whether to set up GitHits at the user or project level
  3. Detects your supported AI coding tools
  4. Lets you choose which tools to configure
  5. Configures the selected tools