Unauthenticated remote use-after-free in graphql-c_parser
Published: August 03, 2024
SECURITY IDENTIFIERS
- GHSA: GHSA-52mm-32rv-3rpg
- Vendor Advisory: https://github.com/rmosolgo/graphql-ruby/security/advisories/GHSA-52mm-32rv-3rpg
GEM
SEVERITY
CVSS v3.x: 9.8 (Critical)
PATCHED VERSIONS
>= 1.1.4
DESCRIPTION
Use-after-free is possible graphql-c_parser if Bison moves GraphQL-Ruby AST nodes into the heap. Bison's heap is not scanned by Ruby's garbage collector, so if GC runs during this stage, Ruby determines those objects to be dead. Later, however, graphql-c_parser uses those objects again while continuing to parse.
Patched versions use Bison's YYSTACK_USE_ALLOCA 1 configuration to use stack memory instead.
This issue was reported by PlatformSecurity.
