GraphQL::Schema::Resolver#call (used by the Execution::Next Runner) catches GraphQL::UnauthorizedError from a resolver's authorized? hook and incorrectly sets isauthed = true, causing resolve to run and its data to be returned to the client despite the authorization failure. This bypasses the library's documented raise UnauthorizedError authorization pattern for any schema using Execution::Next.
graphql-ruby is a Ruby implementation of GraphQL. Starting in version 1.11.5 and prior to versions 1.11.8, 1.12.25, 1.13.24, 2.0.32, 2.1.14, 2.2.17, and 2.3.21, loading a malicious schema definition in GraphQL::Schema.fromintrospection (or GraphQL::Schema::Loader.load) can result in remote code execution. Any system which loads a schema by JSON from an untrusted source is vulnerable, including those that use GraphQL::Client to load external schemas via GraphQL introspection. Versions 1.11.8, 1.12.25, 1.13.24, 2.0.32, 2.1.14, 2.2.17, and 2.3.21 contain a patch for the issue.