CVE-2025-46720
JavaScript vulnerability analysis and mitigation

Overview

Keystone, a content management system for Node.js, was found to contain a security vulnerability (CVE-2025-46720) prior to version 6.5.0. The vulnerability involves a bypass of {field}.isFilterable access control in update and delete mutations through the use of additional unique filters. This vulnerability was discovered and disclosed on May 5, 2025, affecting all versions of @keystone-6/core before version 6.5.0 (GitHub Advisory, NVD).

Technical details

The vulnerability occurs when a mutation includes a where clause with multiple unique filters (e.g., id and email). In such cases, Keystone attempts to match records even if filtering by the latter fields would normally be rejected by field.isFilterable or list.defaultIsFilterable. The vulnerability has been assigned a CVSS v3.1 Base Score of 3.1 (Low) with a vector string of CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:N/A:N, indicating network vector attack with high complexity, requiring low privileges but no user interaction (GitHub Advisory).

Impact

The vulnerability affects projects that rely on the default or dynamic isFilterable behavior at either the list or field level to prevent external users from using field filtering as a discovery mechanism. While access control is properly enforced during findMany operations, it was not completely enforced during update and delete mutations when accepting multiple unique where values in filters. This can allow malicious actors to infer the presence of particular field values when a filter successfully returns a result (GitHub Advisory).

Mitigation and workarounds

The issue has been patched in @keystone-6/core version 6.5.0. For older versions where patching is not viable, several workarounds are available: set isFilterable: false statically for relevant fields, set {field}.graphql.omit.read: true for relevant fields to remove them from the GraphQL schema, or deny update and delete operations for the relevant lists completely. Projects already using isFilterable: false or defaultIsFilterable: false for sensitive fields are not impacted (GitHub Advisory).

Additional resources


SourceThis report was generated using AI

Related JavaScript vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-23744CRITICAL9.8
  • JavaScriptJavaScript
  • @mcpjam/inspector
NoYesJan 16, 2026
CVE-2026-23735HIGH8.7
  • JavaScriptJavaScript
  • graphql-modules
NoYesJan 16, 2026
GHSA-gw32-9rmw-qwwwHIGH8.4
  • JavaScriptJavaScript
  • svelte
NoYesJan 16, 2026
CVE-2026-23745HIGH8.2
  • JavaScriptJavaScript
  • argo-workflows-fips-3.6
NoYesJan 16, 2026
GHSA-38cw-85xc-xr9xMEDIUM6.8
  • JavaScriptJavaScript
  • @veramo/data-store
NoYesJan 16, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management