Remote code execution when loading a crafted GraphQL schema
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 1.11.8, 1.12.25, 1.13.24, 2.0.32, 2.1.14, and 5 more
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- 1 proof of concept on GitHub
- Exploitation: none
- Automatable: no
- Technical impact: total
Summary
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.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 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.
Timeline
- CVE published
- CISA SSVC assessment
Exploitation: none · Automatable: no · Technical impact: total
- Record last updated
Affected versions
- rmosolgo graphql-ruby
From 1.11.5 · fixed in 1.11.8; From 1.12.0 · fixed in 1.12.25; From 1.13.0 · fixed in 1.13.24; From 2.0.0 · fixed in 2.0.32; From 2.1.0 · fixed in 2.1.14; From 2.2.0 · fixed in 2.2.17; From 2.3.0 · fixed in 2.3.21
- graphqlRubyGems
From 2.4.0 · fixed in 2.4.13
- graphqlRubyGems
From 2.3.0 · fixed in 2.3.21
- graphqlRubyGems
From 2.2.0 · fixed in 2.2.17
- graphqlRubyGems
From 2.1.0 · fixed in 2.1.15
- graphqlRubyGems
From 2.0.0 · fixed in 2.0.32
- graphqlRubyGems
From 1.13.0 · fixed in 1.13.24
- graphqlRubyGems
From 1.12.0 · fixed in 1.12.25
- graphqlRubyGems
From 1.11.5 · fixed in 1.11.11