RubySec

Providing security resources for the Ruby community

GHSA-rmxg-5p3r-j6hh (graphql): Unsafe Marshal deserialization in the parser cache can lead to arbitrary Ruby code execution

Unsafe Marshal deserialization in the parser cache can lead to arbitrary Ruby code execution

Published: August 17, 2026

SECURITY IDENTIFIERS

GEM

graphql

UNAFFECTED VERSIONS

< 1.12.6

PATCHED VERSIONS

>= 2.6.9

DESCRIPTION

GraphQL::Language::Cache#fetch reads parser cache files and passes their contents directly to Marshal.load without authenticating the payloads. If an attacker can place a crafted payload in the expected path and the application calls GraphQL::Language::Parser.parse_file, then attacker-controlled marshal_load or _load methods are executed, resulting in arbitrary Ruby code execution in the application process.

RELATED