When `ui.isAccessAllowed` is `undefined`, the `adminMeta` GraphQL query is publicly accessible
Moderate severity
GitHub Reviewed
Published
Aug 15, 2023
in
keystonejs/keystone
•
Updated Nov 8, 2023
Description
Published by the National Vulnerability Database
Aug 15, 2023
Published to the GitHub Advisory Database
Aug 15, 2023
Reviewed
Aug 15, 2023
Last updated
Nov 8, 2023
Summary
When
ui.isAccessAllowed
isundefined
, theadminMeta
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 ownui.isAccessAllowed
(that is to say, you are unaffected ifui.isAccessAllowed
is defined).This vulnerability does affect developers who thought that their
session
strategy will, by default, enforce thatadminMeta
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
version5.5.1
.Workarounds
You can opt to write your own
isAccessAllowed
to work-around this vulnerability.References
Pull request keystonejs/keystone#8771
References