Staging Environment: Content and features may be unstable or change without notice.

Advisory Weakness Curation

CVE-2022-39322

Progress 0 / 0

Advisory Summaries

github_osv/GHSA-6mhr-52mv-6v6f

Field-level access-control bypass for multiselect field #### Impact `@keystone-6/core@2.2.0 || 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 https://github.com/marekryb 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 [security@keystonejs.com](mailto:security@keystonejs.com), or open an issue on GitHub https://github.com/keystonejs/keystone/issues/new/choose. If you have a security flaw to report for any software in this repository, please see our SECURITY policy https://github.com/keystonejs/keystone/blob/main/SECURITY.md.

gitlab/npm/@keystone-6/core/GMS-2022-5484

Field-level access-control bypass for multiselect field Keystone 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.

gitlab/npm/keystone/CVE-2022-39322

Incorrect Authorization @keystone-6/core is a core package for Keystone 6, a content management system for Node.js. Starting with version 2.2.0 and prior to version 2.3.1, users who expected their `multiselect` fields to use the field-level access control - if configured - is 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. Version 2.3.1 contains a fix for this issue. As a workaround, stop using the `multiselect` field.