@keystone-6/core: `isFilterable` bypass via `cursor` parameter in findMany
Default status is the baseline for the product, each version can override it (e.g. patched versions marked unaffected).
| Vendor | Product | Default status | Versions | ||||||
|---|---|---|---|---|---|---|---|---|---|
| keystonejs | keystone | affected |
|
No data.
| Vendor | Product | Versions | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Keystonejs | Keystone |
|
| Source | ID | Title |
|---|---|---|
Github GHSA |
GHSA-cgcg-q9jh-5pr2 | @keystone-6/core: `isFilterable` bypass via `cursor` parameter in findMany (CVE-2025-46720 incomplete fix) |
No CVSS v4.0
No CVSS v3.0
No CVSS v2
This CVE is not in the KEV list.
Exploit prediction score: < 1% (0.273% probability within 30 days)
| Type | Values Removed | Values Added |
|---|---|---|
| CPEs | cpe:2.3:a:keystonejs:keystone:*:*:*:*:*:node.js:*:* |
| Type | Values Removed | Values Added |
|---|---|---|
| Metrics |
ssvc
|
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Keystonejs
Keystonejs keystone |
|
| Vendors & Products |
Keystonejs
Keystonejs keystone |
| 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
|