GitHub Advisoryadvisory · npm

GHSA-6mhr-52mv-6v6f Field-level access-control bypass for multiselect field

CRITICAL Published 2022-10-18 Modified 2022-10-18 Official page ↗
Aliases
CVE-2022-39322
Ecosystem
npm
Packages
@keystone-6/core
Severity
Critical
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
Weaknesses
CWE-285, CWE-863
Reviewed
2022-10-18

Affected packages

• npm @keystone-6/core: >= 2.2.0, < 2.3.1 → fixed in 2.3.1

Description

Impact `@keystone-6/[email protected] || 2.3.0` users who are using the `multiselect` field, and provided field-level access control - are vulnerable to their field-level access control not being used. List-level access control is NOT affected. Field-level access control for fields other than `multiselect` are NOT affected. Example, you are vulnerable if you are using field-level access control on a `multiselect` like the following: ```ts const yourList = list({ access: { // this is list-level access control, this is NOT impacted }, fields: { yourFieldName: multiselect({ // this is field-level access control, for multiselect fields // this is vulnerable access: { create: ({ session }) => session?.data.isAdmin, update: ({ session }) => session?.data.isAdmin, }, options: [ { value: 'apples', label: 'Apples' }, { value: 'oranges', label: 'Oranges' }, ], // ... }), // ... }, // ... }); ``` Mitigation Please upgrade to `@keystone-6/core >= 2.3.1`, where this vulnerability has been closed. Workarounds If for some reason you cannot upgrade your dependencies, you should stop using the `multiselect` field. Credits Thanks to Marek R for reporting and submitting the pull request to fix this problem. If you have any questions around this security advisory, please don't hesitate to contact us at [email protected], or open an issue on GitHub. If you have a security flaw to report for any software in this repository, please see our SECURITY policy.

Related

Alias · CVE (1)

  • CVE-2022-39322 @keystone-6/core is a core package for Keystone 6, a content management system for Node.js. vulnerability

Weakness · CWE (2)

  • CWE-285 Improper Authorization weakness
  • CWE-863 Incorrect Authorization weakness

References