CVE-2023-40027: Conditionally missing authorization in @keystone-6/core

Published Aug 15, 2023
·
Updated

Summary When ui.isAccessAllowed is undefined, the adminMeta GraphQL query is publicly accessible, that is to say, no session is required for the query.

This is different to the behaviour of the default AdminUI middleware, which by default will only be publicly accessible if a session strategy is not defined.

Impact This vulnerability does not affect developers using the @keystone-6/auth package, or any users that have written their own ui.isAccessAllowed (that is to say, you are unaffected if ui.isAccessAllowed is defined).

This vulnerability does affect developers who thought that their session strategy will, by default, enforce that adminMeta is inaccessible by the public in accordance with that strategy; akin to the behaviour of the AdminUI middleware.

Patches This vulnerability has been patched in @keystone-6/core version 5.5.1.

Workarounds You can opt to write your own isAccessAllowed to work-around this vulnerability.

References Pull request https://github.com/keystonejs/keystone/pull/8771

Other sources

Keystone is an open source headless CMS for Node.js — built with GraphQL and React. When ui.isAccessAllowed is set as undefined, the adminMeta GraphQL query is publicly accessible (no session required). This is different to the behaviour of the default AdminUI middleware, which by default will only be publicly accessible (no session required) if a session strategy is not defined. This vulnerability does not affect developers using the @keystone-6/auth package, or any users that have written their own ui.isAccessAllowed (that is to say, isAccessAllowed is not undefined). This vulnerability does affect users who believed that their session strategy will, by default, enforce that adminMeta is inaccessible by the public in accordance with that strategy; akin to the behaviour of the AdminUI middleware. This vulnerability has been patched in @keystone-6/core version 5.5.1. Users are advised to upgrade. Users unable to upgrade may opt to write their own isAccessAllowed functionality to work-around this vulnerability.

MITRE

Affected Software

2 affected componentsFixes available
npm/@keystone-6/core<5.5.1
5.5.1
KeystoneJS Keystone Node.js<5.5.1

Event History

Aug 15, 2023
CVE Published
via MITRE·05:45 PM
Data Sourced
via MITRE·05:45 PM
DescriptionSeverityWeakness
Advisory Published
08:04 PM
Free Weekly Intel

Don't miss critical vulnerabilities

Join thousands of security professionals who receive our weekly digest of trending CVEs, zero-days, and exploited vulnerabilities.

No spam. Unsubscribe anytime.

Frequently Asked Questions

1

What is the severity of CVE-2023-40027?

CVE-2023-40027 has been rated as a moderate severity vulnerability.

2

How do I fix CVE-2023-40027?

To fix CVE-2023-40027, ensure that the `ui.isAccessAllowed` function is correctly defined to restrict access to the `adminMeta` GraphQL query.

3

What are the effects of CVE-2023-40027?

CVE-2023-40027 allows unauthorized access to sensitive metadata through the `adminMeta` GraphQL query due to insufficient session checks.

4

Which versions of Keystone are affected by CVE-2023-40027?

CVE-2023-40027 affects Keystone versions prior to 5.5.1.

5

Is there a patch available for CVE-2023-40027?

Yes, a patch for CVE-2023-40027 is available in the updated versions of Keystone.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203