Vulnerability · Published Aug 21, 2026 · Assigned by GitHub_M

CVE-2026-63421Keystone: `graphql.maxTake` bypass with negative `take`

High 7.5

In plain English

A high-severity improper input validation in keystone from keystonejs. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 0.7% (higher than 52% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.

Severity (CVSS 3.1)7.5High
Exploit odds (30 days)0.7%top 47.8% of all CVEs
Exploited in the wildNo reportsCISA SSVC: none
Attack toolingNoneno public tooling known

Official 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.

Affected packages & fixed versions

EcosystemPackageFixed inAdvisory
npm@keystone-6/core6.5.3GHSA-cqmq-8755-7xvh

Affected products (as reported)

VendorProductVersions
keystonejs keystone < 6.5.3

Weakness: CWE-20, CWE-480 · Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

References