Podatności @neo4j/graphql
4 znanych podatności CVE w @neo4j/graphql, przetłumaczonych i ocenionych.
- CVE-2026-92682Wysokie
W @neo4j/graphql w wersjach od 7.0.0 do 7.6.4, kwantyfikator none w filtrach @authorization na relacjach i połączeniach nie jest negowany podczas tłumaczenia na Cypher, więc zachowuje się jak some. Reguła taka jak "żaden z powiązanych zabronionych użytkowników nie pasuje do podmiotu JWT" zwraca dokładnie rekordy, które miała wykluczyć, i wyklucza te, które miała zwrócić. Uwierzytelniony użytkownik, którego taka reguła ma odrzucić, może odczytać chronione rekordy. Dotyczy to również mutacji, więc wrażliwe dane mogą być tworzone i usuwane przez użytkowników, którzy nie powinni mieć do nich dostępu zgodnie z typedefs. Naprawiono w 7.6.4.
- CVE-2026-92681Krytyczne
W pakiecie @neo4j/graphql w wersjach do 7.6.3 włącznie dyrektywy @authentication stosowane na poziomie schematu lub na typach Query/Mutation są po cichu ignorowane dla pól najwyższego poziomu oznaczonych @cypher. Egzekwowane są tylko dyrektywy @authentication umieszczone bezpośrednio na poszczególnych polach. Aplikacja wystawiająca pole @cypher najwyższego poziomu i polegająca na ochronie na poziomie schematu lub typu pozwala nieuwierzytelnionym wywołującym uruchomić skonfigurowane zapytanie Cypher z uprawnieniami konta usługi GraphQL, co może umożliwić odczyt i modyfikację danych. Poprawiono w 7.6.4.
- CVE-2026-19869Wysokie
@neo4j/graphql od wersji 5.2.0 do wersji przed poprawką nie egzekwuje reguł autoryzacji na poziomie pól dla niestandardowych resolverów, gdy na tym samym typie operacji istnieje również reguła na poziomie typu. Reguła na poziomie pola jest ignorowana, co pozwala klientowi spełniającemu słabszą regułę na wywołanie bardziej restrykcyjnego pola.
- CVE-2026-5423Wysokie
Biblioteka @neo4j/graphql w wersjach przed 7.5.6 nie weryfikuje autentyczności dostarczonego przez klienta, wstępnie zdekodowanego obiektu JWT przekazywanego przez GraphQL subscription connectionParams. W rezultacie każdy nieuwierzytelniony zdalny klient, który może otworzyć połączenie GraphQL-over-WebSocket, może sfałszować dowolne roszczenia JWT (np. sub, roles) w connectionParams.jwt i mieć je zaakceptowane jako tożsamość uwierzytelnioną dla oceny dyrektyw @authentication i @subscriptionsAuthorization. Umożliwia to nieuwierzytelnionemu atakującemu otrzymywanie zdarzeń subskrypcji, które powinny być ograniczone do określonych uwierzytelnionych ról/użytkowników. Zalecane jest uaktualnienie do wersji 7.5.6+ lub 5.12.14+.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

