Description
Keystone is a content management system for Node.js. Prior to version 6.5.2, {field}.isFilterable access control can be bypassed in findMany queries by passing a cursor. This can be used to confirm the existence of records by protected field values. The fix for CVE-2025-46720 (field-level isFilterable bypass for update and delete mutations) added checks to the where parameter in update and delete mutations however the cursor parameter in findMany was not patched and accepts the same UniqueWhere input type. This issue has been patched in version 6.5.2.
Published: 2026-03-24
Score: 4.3 Medium
EPSS: < 1% Very Low
KEV: No
Impact: Authorization bypass enabling record enumeration via protected fields
Action: Apply Patch
AI Analysis

Impact

Keystone, a Node.js content management system, has a weakness where the isFilterable check on protected fields can be overridden in findMany queries when a cursor parameter is supplied. This oversight, classified as CWE-863, lets an attacker confirm the existence of records that match specific protected field values, effectively bypassing intended access controls without altering any data.

Affected Systems

The vulnerability affects keystonejs Keystone versions prior to 6.5.2. Any deployment of Keystone 6 using its default data layer can be impacted if findMany queries are exposed through an API endpoint. No other vendors or products are listed as affected.

Risk and Exploitability

The CVSS score of 4.3 indicates moderate severity, and the vulnerability is not listed in the CISA Known Exploited Vulnerabilities catalog. While EPSS data is unavailable, the issue can be exploited over the network by an attacker who can send a properly crafted findMany request with a cursor argument. Successful exploitation would allow enumeration of protected data but does not provide direct code execution or privilege escalation.

Generated by OpenCVE AI on March 24, 2026 at 20:22 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade Keystone to version 6.5.2 or newer.
  • If immediate upgrade is not possible, block or sanitize cursor parameters in findMany queries to enforce isFilterable checks.
  • After applying the patch or workaround, review access control configurations to confirm that protected fields remain inaccessible.
  • Monitor API traffic for patterns that resemble enumeration attempts through cursor usage.

Generated by OpenCVE AI on March 24, 2026 at 20:22 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-cgcg-q9jh-5pr2 @keystone-6/core: `isFilterable` bypass via `cursor` parameter in findMany (CVE-2025-46720 incomplete fix)
History

Wed, 25 Mar 2026 14:15:00 +0000

Type Values Removed Values Added
Metrics ssvc

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


Wed, 25 Mar 2026 12:00:00 +0000

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

Tue, 24 Mar 2026 19:30:00 +0000

Type Values Removed Values Added
Description Keystone is a content management system for Node.js. Prior to version 6.5.2, {field}.isFilterable access control can be bypassed in findMany queries by passing a cursor. This can be used to confirm the existence of records by protected field values. The fix for CVE-2025-46720 (field-level isFilterable bypass for update and delete mutations) added checks to the where parameter in update and delete mutations however the cursor parameter in findMany was not patched and accepts the same UniqueWhere input type. This issue has been patched in version 6.5.2.
Title @keystone-6/core: `isFilterable` bypass via `cursor` parameter in findMany
Weaknesses CWE-863
References
Metrics cvssV3_1

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


Subscriptions

Keystonejs Keystone
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-03-25T13:37:10.313Z

Reserved: 2026-03-18T21:23:36.678Z

Link: CVE-2026-33326

cve-icon Vulnrichment

Updated: 2026-03-25T13:37:04.561Z

cve-icon NVD

Status : Awaiting Analysis

Published: 2026-03-24T20:16:28.043

Modified: 2026-03-25T15:41:58.280

Link: CVE-2026-33326

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-03-25T20:57:47Z

Weaknesses