Description
Keystone is a content management system for Node.js. Prior to 6.5.3, the findMany resolver in packages/core/src/lib/core/queries/resolvers.ts compares the signed take argument directly with graphql.maxTake, allowing a remote unauthenticated GraphQL client to provide a negative take value whose magnitude exceeds the configured bound. The bypass also applies to relationship queries and can return more records than the developer intended, potentially exhausting service resources. This issue is fixed in version 6.5.3.
Published: 2026-08-21
Score: 7.5 High
EPSS: < 1% Very Low
KEV: No
Impact: Denial of Service
Action: Patch Now
AI Analysis

Impact

Keystone's findMany GraphQL resolver incorrectly compares a signed take argument with the configured graphql.maxTake. A negative take value whose magnitude exceeds the bound bypasses the limit, allowing an unauthenticated remote client to request far more records than intended. This can expose data that should be restricted and can consume excessive CPU or memory, leading to resource exhaustion.

Affected Systems

Keystone, a Node.js content management system, is affected on any installation using an unreleased version prior to 6.5.3. The vulnerability exists in the core resolver logic and applies to relationship queries that rely on the same take validation. All versions before the 6.5.3 release are at risk.

Risk and Exploitability

The CVSS base score of 7.5 indicates a significant severity, while the EPSS score is not available and the vulnerability is not in CISA KEV. Attackers can exploit this remotely through the public GraphQL endpoint without authentication. Because the bypass allows retrieval of an arbitrary large dataset, it can quickly overwhelm application resources and potentially expose sensitive information.

Generated by OpenCVE AI on August 21, 2026 at 21:33 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade Keystone to version 6.5.3 or later to apply the official fix.
  • Verify that the graphql.maxTake configuration is set to an appropriate value and monitor its usage.
  • If an upgrade cannot be performed immediately, temporarily enforce stricter input validation for the take argument or apply rate limiting to the GraphQL endpoint to mitigate resource exhaustion.

Generated by OpenCVE AI on August 21, 2026 at 21:33 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-cqmq-8755-7xvh Keystone vulnerable to `graphql.maxTake` bypass with negative `take`
History

Wed, 26 Aug 2026 19:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Fri, 21 Aug 2026 22:00:00 +0000

Type Values Removed Values Added
First Time appeared Keystonejs
Keystonejs keystone
Vendors & Products Keystonejs
Keystonejs keystone

Fri, 21 Aug 2026 20:30:00 +0000

Type Values Removed Values Added
Description Keystone is a content management system for Node.js. Prior to 6.5.3, the findMany resolver in packages/core/src/lib/core/queries/resolvers.ts compares the signed take argument directly with graphql.maxTake, allowing a remote unauthenticated GraphQL client to provide a negative take value whose magnitude exceeds the configured bound. The bypass also applies to relationship queries and can return more records than the developer intended, potentially exhausting service resources. This issue is fixed in version 6.5.3.
Title Keystone: `graphql.maxTake` bypass with negative `take`
Weaknesses CWE-20
CWE-480
References
Metrics cvssV3_1

{'score': 7.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H'}


Subscriptions

Keystonejs Keystone
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-08-26T17:39:12.659Z

Reserved: 2026-07-16T19:20:28.988Z

Link: CVE-2026-63421

cve-icon Vulnrichment

Updated: 2026-08-26T17:39:08.675Z

cve-icon NVD

Status : Deferred

Published: 2026-08-21T21:17:01.643

Modified: 2026-09-09T21:06:39.057

Link: CVE-2026-63421

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-21T21:45:03Z

Weaknesses
  • CWE-20

    Improper Input Validation

  • CWE-480

    Use of Incorrect Operator