CVE-2026-66008
ŚrednieCVSS 6.3Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 24 - wyżej niż 24% wszystkich znanych CVE
Streszczenie
Parse Server w wersjach od 9.0.0 do 9.10.0-alpha.6 oraz od 8.2.2 do 8.6.87 ujawnia nazwy klas docelowych wskaźników i relacji poprzez komunikaty błędów walidacji GraphQL i wymuszania typów, gdy publiczna introspekcja schematu jest wyłączona (graphQLPublicIntrospection: false, domyślnie). Ponieważ błędy te są generowane przed uwierzytelnieniem, autoryzacją lub uruchomieniem resolvera, nieuwierzytelniony klient posiadający tylko publiczny identyfikator aplikacji może wywołać błędy na polach wskaźników lub relacji, aby zrekonstruować ukryte nazwy klas schematu, częściowo omijając ochronę ukrywania schematu. Ujawniane są tylko metadane schematu (nazwy klas); żadne dane obiektów, poświadczenia ani rekordy użytkowników nie są ujawniane.
Ocena ryzyka
Ryzyko polega na ujawnieniu nazw klas schematu, co może pomóc atakującemu w zrozumieniu struktury bazy danych i zaplanowaniu dalszych ataków, choć nie prowadzi bezpośrednio do wycieku danych.
Rekomendacja
Należy zaktualizować Parse Server do wersji 9.10.0-alpha.7 lub nowszej (dla gałęzi 9.x) albo 8.6.88 lub nowszej (dla gałęzi 8.x), która nie ujawnia nazw klas w komunikatach błędów.
Inne podatności w Parse Server
Zobacz wszystkie- CVE-2026-109954Średnie
Parse Server w wersji od 5.4.0 do 8.6.96 oraz od 9.0.0 do 9.10.2-alpha.5 współdzieli stan transakcyjny partii między równoczesnymi żądaniami, pozwalając żądaniu transakcyjnemu dowolnego klienta zakłócać zapisy do bazy danych innych klientów. W przypadku PostgreSQL lub zestawów replik i klastrów shardowanych MongoDB potwierdzone zapisy innych klientów są wycofywane, jeśli partia zawiedzie, a transakcje PostgreSQL mogą pozostać otwarte bezterminowo, powodując niepowodzenie kolejnych zapisów.
- CVE-2026-109302Niskie
Podatność w Parse Server umożliwia nieuwierzytelnionym atakującym, posiadającym publiczne Application Id i klucz klienta, odtworzenie zapytania introspection z pamięci podręcznej Apollo Server, aby uzyskać schemat GraphQL, w tym prywatne nazwy klas i pól. Kontrola introspection jest stosowana tylko do bezpośrednio przesyłanych zapytań, nie do tych z pamięci podręcznej.
- CVE-2026-109301Średnie
Parse Server przed wersją 8.6.95 oraz w gałęzi 9.0.0 przed 9.10.2-alpha.3 nie rozwiązuje referencji do plików pozbawionych URL przed przekazaniem obiektów do wyzwalaczy Cloud Code i LiveQuery, co powoduje nieprzechwycony wyjątek i zakończenie procesu. Atakujący, którzy mogą zapisywać do klasy z wyzwalaczami Cloud Code (save, find, delete) lub włączonym LiveQuery, w tym nieuwierzytelnieni użytkownicy, jeśli publiczny zapis lub rejestracja jest dozwolona, mogą zawiesić serwer lub przerwać kolejne żądania.
- CVE-2026-34532Krytyczne
Parse Server przed wersjami 8.6.67 i 9.7.0-alpha.11 zawiera podatność, w której atakujący może ominąć kontrolę dostępu walidatora Cloud Function, dodając "prototype.constructor" do nazwy funkcji w URL. Powoduje to pominięcie całej kontroli dostępu, umożliwiając nieuwierzytelnionym wywołanie funkcji chronionych walidatorami.
- CVE-2026-27804Krytyczne
Parse Server przed wersjami 8.6.3 i 9.1.1-alpha.4 jest podatny na atak, w którym nieautoryzowany napastnik może sfałszować token uwierzytelniający Google z algorytmem 'alg: "none"', co pozwala na logowanie się jako dowolny użytkownik powiązany z kontem Google bez znajomości jego danych uwierzytelniających.
- CVE-2025-67727Krytyczne
Parse Server to open source backend, który można wdrożyć na dowolnej infrastrukturze działającej na Node.js. W wersjach przed 8.6.0-alpha.2, przepływ pracy GitHub CI jest wyzwalany w sposób, który przyznaje podwyższone uprawnienia GitHub Actions, dając dostęp do sekretów GitHub i uprawnień zapisu zdefiniowanych w przepływie pracy. Kod z forka lub skrypty cyklu życia mogą być potencjalnie uwzględnione. Dotyczy to tylko infrastruktury CI/CD repozytorium, w tym publicznych forków GitHub z włączonym GitHub Actions. Problem został naprawiony w wersji 8.6.0-alpha.2 oraz commitach 6b9f896 i e3d27fe.
- CVE-2023-36475Krytyczne
Parse Server przed wersjami 5.5.2 i 6.2.1 jest podatny na zanieczyszczenie prototypu, co może prowadzić do zdalnego wykonania kodu poprzez parser BSON MongoDB.
- CVE-2026-109303Średnie
Parse Server przed wersją 8.6.93 oraz w gałęzi 9.0.0 przed 9.10.1-alpha.13 nie egzekwuje ochrony pól chronionych (authenticated, role lub grupy per-user) na zapytaniach count używających operatora $relatedTo, ujawniając rozmiar chronionych pól Relation. Uwierzytelniony użytkownik, który może odczytać właściciela obiektu, może połączyć liczby z ograniczeniem objectId jako wyrocznię członkostwa, aby ujawnić poufne członkostwa, takie jak prywatne grupy lub listy blokowane.
- CVE-2026-105828Średnie
Parse Server w wersjach od 8.2.2 do 8.6.92 oraz od 9.0.0 do 9.10.1-alpha.12 zawiera podatność ujawnienia informacji, w której komunikaty błędów walidacji GraphQL ujawniają ukryte nazwy klas, gdy publiczna introspekcja jest wyłączona. Nieuwierzytelnieni atakujący posiadający jedynie publiczny Application Id mogą wysyłać spreparowane operacje wywołujące błędy nieznanego argumentu lub nieprawidłowej wartości enum, aby poznać klasy docelowe wskaźników i relacji.
- CVE-2026-101042Średnie
Parse Server w wersjach >= 9.0.0 < 9.10.1-alpha.10 i >= 8.0.2 < 8.6.91 nie weryfikuje kodu autoryzacyjnego u dostawcy zewnętrznego podczas logowania z nazwą użytkownika i hasłem, gdy używane są adaptery uwierzytelniania oparte na kodzie (GitHub, Google Play Games, Instagram, LINE, LinkedIn, Microsoft, QQ, Spotify, WeChat, Weibo). Umożliwia to uwierzytelnionemu użytkownikowi o niskich uprawnieniach dołączenie dowolnej, niezweryfikowanej tożsamości dostawcy do swojego konta, a także przejęcie konta ofiary, która później zaloguje się przez tego dostawcę. Problem został naprawiony w wersjach 9.10.1-alpha.10 i 8.6.91.
Oryginalny opis (angielski, źródło NVD)
Parse Server versions >= 9.0.0 before 9.10.0-alpha.6 and >= 8.2.2 before 8.6.87 disclose Pointer and Relation target class names through GraphQL validation and input-coercion error messages when public schema introspection is disabled (graphQLPublicIntrospection: false, the default). Because these errors are produced before authentication, authorization, or any resolver runs, an unauthenticated client possessing only the public application ID can trigger errors on Pointer or Relation fields to reconstruct hidden schema class names, partially defeating the schema-hiding protection. Only schema metadata (class names) is exposed; no object data, credentials, or user records are disclosed.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

