# CVE-2026-33326: KeystoneJS @keystone-6/core authorization bypass in findMany cursor parameter

Source: https://junglewise.ai/threats/cve-2026-33326-keystonejs-keystone-6-core-authorization-bypass-in-findmany  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-03-19. Updated: 2026-09-25  
License: CC BY 4.0 with a link back

CVE-2026-33326 · Severity: low · CVSS 3.1 · Published 2026-03-19

@keystone-6/core is a Node.js GraphQL backend framework used to build CMS and data-driven applications. An authorization bypass vulnerability allows authenticated users to discover protected records by using a cursor parameter in findMany queries, bypassing field-level access controls that should restrict filtering on sensitive fields.

Technologies: [@keystone-6/core (npm)](https://junglewise.ai/threats/technologies/keystone-6-core). Vendors: [npm](https://junglewise.ai/threats/vendors/npm).

## Quick answers

**Is CVE-2026-33326 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-33326 being exploited in the wild.

**How severe is CVE-2026-33326?** Low severity, with a CVSS score of 3.1, published 19 March 2026.

**Which products and versions are affected?** @keystone-6/core (npm) SEMVER:introduced=0,fixed=6.5.2.

**Is there a fix for CVE-2026-33326?** Yes. @keystone-6/core (npm): upgrade to 6.5.2 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-33326 attacked?** It is attacked over the network.

**Am I affected by CVE-2026-33326?** Check whether you run @keystone-6/core (npm) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## How to fix

- @keystone-6/core (npm): upgrade to 6.5.2 or later

  ```sh
  npm install @keystone-6/core@6.5.2
  ```


## Technical details

The vulnerability is an authorization bypass (CWE-863) in the findMany GraphQL query handler. The cursor parameter accepts a UniqueWhere input type that was not subjected to the same isFilterable access control checks that were added to update and delete mutations in the previous CVE-2025-46720 fix. An authenticated attacker (PR:L) can craft findMany queries with cursor values that reference protected fields to confirm the existence of records without having permission to filter by those fields. This is a network-reachable attack with no user interaction required. The vulnerability has been patched in version 6.5.2; prior versions up to 6.5.1 are affected.

## Affected products

- KeystoneJS @keystone-6/core <= 6.5.1

## Identifiers

- CVE-2026-33326
- GHSA-cgcg-q9jh-5pr2

## Timeline

- 2026-03-19: disclosed
- 2026-03-19: patched: version 6.5.2

## References

- [https://github.com/keystonejs/keystone/security/advisories/GHSA-cgcg-q9jh-5pr2](https://github.com/keystonejs/keystone/security/advisories/GHSA-cgcg-q9jh-5pr2)

## Related threats

- [Keystone GraphQL maxTake bypass with negative values](https://junglewise.ai/threats/cve-2026-63421-keystone-graphql-maxtake-bypass-with-negative-values)
- [KeystoneJS Denial of Service via Unbounded GraphQL Query Depth](https://junglewise.ai/threats/cve-2026-10802-keystonejs-denial-of-service-via-unbounded-graphql-query-depth)
- [Keystone isFilterable bypass in update and delete mutations](https://junglewise.ai/threats/cve-2025-46720-keystone-isfilterable-bypass-in-update-and-delete-mutations)
- [Keystone @keystone-6/core unauthorized adminMeta GraphQL access](https://junglewise.ai/threats/cve-2023-40027-keystone-keystone-6-core-unauthorized-adminmeta-graphql-access)
- [Keystone-6 insecure cuid identifier dependency](https://junglewise.ai/threats/keystone-6-insecure-cuid-identifier-dependency-63b02e59)
