{"id":"GHSA-q92j-grw3-h492","summary":"graphql allows remote code execution when loading a crafted GraphQL schema","details":"# Summary\n\nLoading a malicious schema definition in `GraphQL::Schema.from_introspection` (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](https://github.com/github-community-projects/graphql-client) to load external schemas via GraphQL introspection.","aliases":["CVE-2025-27407"],"modified":"2025-11-04T00:16:11.160287Z","published":"2025-03-12T19:28:00Z","database_specific":{"github_reviewed":true,"github_reviewed_at":"2025-03-12T19:28:00Z","nvd_published_at":"2025-03-12T19:15:40Z","cwe_ids":["CWE-94"],"severity":"CRITICAL"},"references":[{"type":"WEB","url":"https://github.com/rmosolgo/graphql-ruby/security/advisories/GHSA-q92j-grw3-h492"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2025-27407"},{"type":"WEB","url":"https://github.com/rmosolgo/graphql-ruby/commit/28233b16c0eb9d0fb7808f4980e061dc7507c4cd"},{"type":"WEB","url":"https://github.com/rmosolgo/graphql-ruby/commit/2d2f4ed1f79472f8eed29c864b039649e1de238f"},{"type":"WEB","url":"https://github.com/rmosolgo/graphql-ruby/commit/5c5a7b9a9bdce143be048074aea50edb7bb747be"},{"type":"WEB","url":"https://github.com/rmosolgo/graphql-ruby/commit/6eca16b9fa553aa957099a30dbde64ddcdac52ca"},{"type":"WEB","url":"https://github.com/rmosolgo/graphql-ruby/commit/d0963289e0dab4ea893bbecf12bb7d89294957bb"},{"type":"WEB","url":"https://github.com/rmosolgo/graphql-ruby/commit/d1117ae0361d9ed67e0795b07f5c3e98e62f3c7c"},{"type":"WEB","url":"https://github.com/rmosolgo/graphql-ruby/commit/e3b33ace05391da2871c75ab4d3b66e29133b367"},{"type":"WEB","url":"https://github.com/rmosolgo/graphql-ruby/commit/e58676c70aa695e3052ba1fbc787efee4ba7d67e"},{"type":"WEB","url":"https://about.gitlab.com/releases/2025/03/12/patch-release-gitlab-17-9-2-released"},{"type":"WEB","url":"https://github.com/github-community-projects/graphql-client"},{"type":"PACKAGE","url":"https://github.com/rmosolgo/graphql-ruby"},{"type":"WEB","url":"https://github.com/rubysec/ruby-advisory-db/blob/master/gems/graphql/CVE-2025-27407.yml"},{"type":"WEB","url":"https://lists.debian.org/debian-lts-announce/2025/08/msg00002.html"}],"affected":[{"package":{"name":"graphql","ecosystem":"RubyGems","purl":"pkg:gem/graphql"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"2.4.0"},{"fixed":"2.4.13"}]}],"versions":["2.4.0","2.4.1","2.4.10","2.4.11","2.4.12","2.4.2","2.4.3","2.4.4","2.4.5","2.4.6","2.4.7","2.4.8","2.4.9"],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2025/03/GHSA-q92j-grw3-h492/GHSA-q92j-grw3-h492.json"}},{"package":{"name":"graphql","ecosystem":"RubyGems","purl":"pkg:gem/graphql"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"2.3.0"},{"fixed":"2.3.21"}]}],"versions":["2.3.0","2.3.1","2.3.10","2.3.11","2.3.12","2.3.13","2.3.14","2.3.15","2.3.16","2.3.17","2.3.18","2.3.19","2.3.2","2.3.20","2.3.3","2.3.4","2.3.5","2.3.6","2.3.7","2.3.8","2.3.9"],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2025/03/GHSA-q92j-grw3-h492/GHSA-q92j-grw3-h492.json"}},{"package":{"name":"graphql","ecosystem":"RubyGems","purl":"pkg:gem/graphql"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"2.2.0"},{"fixed":"2.2.17"}]}],"versions":["2.2.0","2.2.1","2.2.10","2.2.11","2.2.12","2.2.13","2.2.14","2.2.15","2.2.16","2.2.2","2.2.3","2.2.4","2.2.5","2.2.6","2.2.7","2.2.8","2.2.9"],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2025/03/GHSA-q92j-grw3-h492/GHSA-q92j-grw3-h492.json"}},{"package":{"name":"graphql","ecosystem":"RubyGems","purl":"pkg:gem/graphql"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"2.1.0"},{"fixed":"2.1.15"}]}],"versions":["2.1.0","2.1.1","2.1.10","2.1.11","2.1.12","2.1.13","2.1.2","2.1.3","2.1.4","2.1.5","2.1.6","2.1.7","2.1.8","2.1.9"],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2025/03/GHSA-q92j-grw3-h492/GHSA-q92j-grw3-h492.json"}},{"package":{"name":"graphql","ecosystem":"RubyGems","purl":"pkg:gem/graphql"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"2.0.0"},{"fixed":"2.0.32"}]}],"versions":["2.0.0","2.0.1","2.0.11","2.0.12","2.0.13","2.0.14","2.0.15","2.0.16","2.0.17","2.0.17.1","2.0.17.2","2.0.18","2.0.19","2.0.2","2.0.20","2.0.21","2.0.22","2.0.23","2.0.24","2.0.25","2.0.26","2.0.27","2.0.28","2.0.29","2.0.3","2.0.30","2.0.31","2.0.4","2.0.5","2.0.6","2.0.7","2.0.8","2.0.9"],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2025/03/GHSA-q92j-grw3-h492/GHSA-q92j-grw3-h492.json"}},{"package":{"name":"graphql","ecosystem":"RubyGems","purl":"pkg:gem/graphql"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"1.13.0"},{"fixed":"1.13.24"}]}],"versions":["1.13.0","1.13.1","1.13.10","1.13.11","1.13.12","1.13.13","1.13.14","1.13.15","1.13.16","1.13.17","1.13.18","1.13.19","1.13.2","1.13.20","1.13.21","1.13.22","1.13.23","1.13.3","1.13.4","1.13.5","1.13.6","1.13.7","1.13.8","1.13.9"],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2025/03/GHSA-q92j-grw3-h492/GHSA-q92j-grw3-h492.json"}},{"package":{"name":"graphql","ecosystem":"RubyGems","purl":"pkg:gem/graphql"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"1.12.0"},{"fixed":"1.12.25"}]}],"versions":["1.12.0","1.12.1","1.12.10","1.12.11","1.12.12","1.12.13","1.12.14","1.12.15","1.12.16","1.12.17","1.12.18","1.12.19","1.12.2","1.12.20","1.12.21","1.12.22","1.12.23","1.12.24","1.12.3","1.12.4","1.12.5","1.12.6","1.12.7","1.12.8","1.12.9"],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2025/03/GHSA-q92j-grw3-h492/GHSA-q92j-grw3-h492.json"}},{"package":{"name":"graphql","ecosystem":"RubyGems","purl":"pkg:gem/graphql"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"1.11.5"},{"fixed":"1.11.11"}]}],"versions":["1.11.10","1.11.5","1.11.6","1.11.7","1.11.8","1.11.9"],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2025/03/GHSA-q92j-grw3-h492/GHSA-q92j-grw3-h492.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H"}]}