---
title: "CVE-2025-27407: graphql allows remote code execution when loading a crafted GraphQL schema"
url: https://erroneo.us/security/cve/CVE-2025-27407/
description: "CVE-2025-27407 (graphql (RubyGems)): graphql-ruby is a Ruby implementation of GraphQL. Starting in version 1.11.5 and prior to versions 1.11.8, 1.12.25…"
type: vulnerability-record
section: "Security Digest"
date_published: 2025-03-12
date_modified: 2025-11-03
publisher: erroneo.us
author: erroneo.us Security Desk
cve: "CVE-2025-27407"
kev: false
cvss: 9.1
epss: 0.03102
license: All rights reserved. Quote with attribution and a link.
---

# CVE-2025-27407: graphql allows remote code execution when loading a crafted GraphQL schema

**Signal:** Critical and remotely reachable. No known exploitation yet, but it is network-reachable without credentials. (Computed from CISA KEV, EPSS and CVSS; not an editorial verdict.)

## Should you act?

- No confirmed exploitation. It is not in CISA’s KEV catalog and CISA’s SSVC assessment records no known exploitation. That can change quickly after a public write-up; re-check if you are affected.
- EPSS 3.1% , percentile 88: FIRST’s model estimates a 3.1% chance of exploitation activity in the next 30 days, higher than 88% of all scored CVEs (elevated). EPSS is a probability, not a verdict.
- Remotely reachable with no login and no user interaction. If the vulnerable service is exposed to the internet, prioritize it.
- Only applies if your dependency tree includes graphql (RubyGems) >= 2.4.0, < 2.4.13, fixed in 2.4.13 ; graphql (RubyGems) >= 2.3.0, < 2.3.21, fixed in 2.3.21 ; graphql (RubyGems) >= 2.0.0, < 2.0.32, fixed in 2.0.32 ; graphql (RubyGems) >= 1.13.0, < 1.13.24, fixed in 1.13.24 . Check your lockfile, including transitive dependencies.

## What it is

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.

## Affected packages

- RubyGems `graphql` >= 2.4.0, < 2.4.13 → fixed: 2.4.13
- RubyGems `graphql` >= 2.3.0, < 2.3.21 → fixed: 2.3.21
- RubyGems `graphql` >= 2.0.0, < 2.0.32 → fixed: 2.0.32
- RubyGems `graphql` >= 1.13.0, < 1.13.24 → fixed: 1.13.24
- RubyGems `graphql` >= 1.12.0, < 1.12.25 → fixed: 1.12.25
- RubyGems `graphql` >= 2.1.0, < 2.1.15 → fixed: 2.1.15
- RubyGems `graphql` >= 1.11.5, < 1.11.11 → fixed: 1.11.11
- RubyGems `graphql` >= 2.2.0, < 2.2.17 → fixed: 2.2.17

## Affected products (CVE record)

- rmosolgo graphql-ruby: >= 1.11.5, < 1.11.8, >= 1.12.0, < 1.12.25, >= 1.13.0, < 1.13.24, >= 2.0.0, < 2.0.32, >= 2.1.0, < 2.1.14, >= 2.2.0, < 2.2.17, >= 2.3.0, < 2.3.21

## Severity

- GitHub_M CVSS 3.1: 9.1 `CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H`
- GitHub CVSS 3.1: 9.0 `CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H`

## Exploitation

- CISA KEV: not listed (no confirmed in-the-wild exploitation known to CISA).
- CISA SSVC assessment: exploitation none , automatable no , technical impact total .
- FIRST EPSS (model of 2026-10-21): 3.10% probability of exploitation activity in the next 30 days; percentile 88.

## Sources

- [GitHub Advisory GHSA-q92j-grw3-h492](https://github.com/advisories/GHSA-q92j-grw3-h492)
- [CVE.org record CVE-2025-27407](https://www.cve.org/CVERecord?id=CVE-2025-27407)
- [NVD entry CVE-2025-27407](https://nvd.nist.gov/vuln/detail/CVE-2025-27407)
- [github.com](https://github.com/rmosolgo/graphql-ruby/security/advisories/GHSA-q92j-grw3-h492)
- [github.com](https://github.com/rmosolgo/graphql-ruby/commit/28233b16c0eb9d0fb7808f4980e061dc7507c4cd)
- [github.com](https://github.com/rmosolgo/graphql-ruby/commit/2d2f4ed1f79472f8eed29c864b039649e1de238f)
- [github.com](https://github.com/rmosolgo/graphql-ruby/commit/5c5a7b9a9bdce143be048074aea50edb7bb747be)
- [github.com](https://github.com/rmosolgo/graphql-ruby/commit/6eca16b9fa553aa957099a30dbde64ddcdac52ca)
- [github.com](https://github.com/rmosolgo/graphql-ruby/commit/d0963289e0dab4ea893bbecf12bb7d89294957bb)
- [github.com](https://github.com/rmosolgo/graphql-ruby/commit/d1117ae0361d9ed67e0795b07f5c3e98e62f3c7c)
- [github.com](https://github.com/rmosolgo/graphql-ruby/commit/e3b33ace05391da2871c75ab4d3b66e29133b367)
- [about.gitlab.com](https://about.gitlab.com/releases/2025/03/12/patch-release-gitlab-17-9-2-released)
- [github.com](https://github.com/github-community-projects/graphql-client)
- [lists.debian.org](https://lists.debian.org/debian-lts-announce/2025/08/msg00002.html)
- [github.com](https://github.com/rmosolgo/graphql-ruby/commit/e58676c70aa695e3052ba1fbc787efee4ba7d67e)
- [github.com](https://github.com/rubysec/ruby-advisory-db/blob/master/gems/graphql/CVE-2025-27407.yml)

---
Source page: https://erroneo.us/security/cve/CVE-2025-27407/ · Security Digest: https://erroneo.us/security/ · More: https://erroneo.us/llms.txt
