CVE-2023-40027
NiskieCVSS 3.7Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 37 — wyżej niż 37% wszystkich znanych CVE
Streszczenie
Podatność w Keystone, open source'owym headless CMS dla Node.js, pozwala na publiczny dostęp do zapytania GraphQL `adminMeta`, gdy `ui.isAccessAllowed` jest ustawione na `undefined`. To różni się od domyślnego zachowania middleware AdminUI, które wymaga sesji, jeśli strategia sesji jest zdefiniowana.
Ocena ryzyka
Organizacje mogą być narażone na nieautoryzowany dostęp do wrażliwych danych administracyjnych, co może prowadzić do poważnych naruszeń bezpieczeństwa.
Rekomendacja
Zaleca się aktualizację do wersji `5.5.1` pakietu `@keystone-6/core`. Użytkownicy, którzy nie mogą zaktualizować, powinni napisać własną funkcjonalność `isAccessAllowed`, aby zminimalizować ryzyko.
Oryginalny opis (angielski, źródło NVD)
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.

