Graphql Core
Monthly
Denial of service in the Python GraphQL-core library (3.0.0 through 3.2.11, plus 3.3.0 pre-releases before 3.3.0rc1) lets an unauthenticated remote attacker pin a worker process for minutes with a single shallow, highly compressible query. The OverlappingFieldsCanBeMerged rule, which ships in specified_rules and is therefore enabled by default on every GraphQL-core server, re-compares flattened inline fragments at every nesting level and can be driven into quadratic - worst case O(n²·m²) - CPU work during validation, before any resolver, depth limiter or complexity analyzer runs; the vendor advisory documents a 364 KB query consuming one core for over 300 seconds on 3.2.8. Severity is availability-only (no confidentiality or integrity impact) and the CVSS 3.1 vector CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H scores 7.5; the advisory includes a proof-of-concept query generator with measured timings, which is a public PoC reference rather than independently verified working exploit code, and there is no confirmed active exploitation (no CISA KEV listing) at time of analysis. Fixed versions 3.2.12 and 3.3.0rc1 enforce a 250,000-comparison budget.
Memory exhaustion in GraphQL-core 3.2.3 through 3.2.11 and 3.3.0a3 through 3.3.0rc0 lets a remote unauthenticated attacker OOM-kill a GraphQL worker by sending a highly compressible comment-padded document that sails past the parser's max_tokens guard. The lexer still allocates and chains a Token object for every comment it skips, but those tokens were invisible to the counter, so a 38 MB payload parsed under max_tokens=5 produced roughly +92 MB of resident memory per the vendor's measurements. The vendor advisory ships a proof-of-concept that demonstrates the bypass; the flaw is not listed in CISA KEV and no in-the-wild exploitation is reported, and the vendor rates the impact as availability-only (CVSS 7.5, A:H, no confidentiality or integrity effect).
Denial of service in the Python GraphQL-core library (3.0.0 through 3.2.11, plus 3.3.0 pre-releases before 3.3.0rc1) lets an unauthenticated remote attacker pin a worker process for minutes with a single shallow, highly compressible query. The OverlappingFieldsCanBeMerged rule, which ships in specified_rules and is therefore enabled by default on every GraphQL-core server, re-compares flattened inline fragments at every nesting level and can be driven into quadratic - worst case O(n²·m²) - CPU work during validation, before any resolver, depth limiter or complexity analyzer runs; the vendor advisory documents a 364 KB query consuming one core for over 300 seconds on 3.2.8. Severity is availability-only (no confidentiality or integrity impact) and the CVSS 3.1 vector CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H scores 7.5; the advisory includes a proof-of-concept query generator with measured timings, which is a public PoC reference rather than independently verified working exploit code, and there is no confirmed active exploitation (no CISA KEV listing) at time of analysis. Fixed versions 3.2.12 and 3.3.0rc1 enforce a 250,000-comparison budget.
Memory exhaustion in GraphQL-core 3.2.3 through 3.2.11 and 3.3.0a3 through 3.3.0rc0 lets a remote unauthenticated attacker OOM-kill a GraphQL worker by sending a highly compressible comment-padded document that sails past the parser's max_tokens guard. The lexer still allocates and chains a Token object for every comment it skips, but those tokens were invisible to the counter, so a 38 MB payload parsed under max_tokens=5 produced roughly +92 MB of resident memory per the vendor's measurements. The vendor advisory ships a proof-of-concept that demonstrates the bypass; the flaw is not listed in CISA KEV and no in-the-wild exploitation is reported, and the vendor rates the impact as availability-only (CVSS 7.5, A:H, no confidentiality or integrity effect).