CVE-2026-100632
ŚrednieCVSS 6.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 20 - wyżej niż 20% wszystkich znanych CVE
Streszczenie
Parse Server w wersjach >= 9.0.0 i < 9.10.1-alpha.8 oraz < 8.6.89 ocenia uprawnienie protectedFields na poziomie klasy względem niekompletnie rozwiązanego kontekstu wywołującego: role subskrybenta nie są rozwiązywane, a gdy subskrypcja nie dostarcza własnego tokenu sesji, ładunek zdarzenia jest redagowany względem tożsamości anonimowej, mimo że odczyt był autoryzowany względem połączonego użytkownika. W rezultacie maski pól zdefiniowane dla roli, uwierzytelnionych użytkowników lub konkretnego użytkownika nie są stosowane, więc uwierzytelniony subskrybent może otrzymywać wartości pól, które REST API poprawnie ukrywa. Dotyczy tylko klas z włączonym LiveQuery, które definiują protectedFields w grupach role:, authenticated lub per-user; maski w grupie public (*) są stosowane poprawnie. Naprawiono w 9.10.1-alpha.8 i 8.6.89.
Ocena ryzyka
Uwierzytelniony subskrybent może uzyskać dostęp do wartości pól, które powinny być zamaskowane, naruszając poufność danych chronionych przez protectedFields.
Rekomendacja
Zaktualizuj Parse Server do wersji 9.10.1-alpha.8 lub 8.6.89; jako obejście zdefiniuj dodatkowo maski pól w grupie public (*) lub wyłącz LiveQuery dla klas, których uprawnienia opierają się na grupach role:, authenticated lub per-user.
Inne podatności w Parse Server
Zobacz wszystkie- CVE-2026-120310Niskie
Parse Server przed 8.6.109 oraz 9.0.0 przed 9.10.6-alpha.1 zwraca przechowywane wartości pól w odpowiedziach aktualizacji obiektów bez sprawdzania uprawnień odczytu. Klienci, których uprawnienia klasowe lub ACL obiektu pozwalają na aktualizację, ale nie na odczyt, mogą zobaczyć dane obiektu, w tym wyniki operacji atomowych, wartości ustawiane przez Cloud Code oraz całe pola nadrzędne przy notacji kropkowej.
- CVE-2026-119571Niskie
Parse Server od wersji 9.7.0 przed 9.10.5-alpha.10 zawiera błąd autoryzacji, który stosuje aktualizacje _Installation adresowane przez identyfikator obiektu do instalacji wskazanej w nagłówku X-Parse-Installation-Id. Gdy włączono protectedFieldsTriggerExempt, atakujący znający identyfikator obiektu innej instalacji może spowodować, że trigger beforeSave przetworzy chronione pola tej instalacji podczas zapisu w innym miejscu.
- 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-119570Niskie
Parse Server od wersji 9.7.0 przed 9.10.5-alpha.7 zawiera podatność ujawnienia informacji, która pozwala klientom otrzymywać wartości chronionych pól zapisanych przez triggery beforeSave przy użyciu kluczy notacji kropkowej. Gdy protectedFieldsSaveResponseExempt ma wartość false, klienci z uprawnieniami do tworzenia lub aktualizacji mogą odczytać wartości zapisane przez trigger pod chronionym polem w tym samym żądaniu.
- CVE-2026-119569Średnie
Parse Server przed wersją 8.6.108 oraz 9.0.0 przed 9.10.5-alpha.9 zawiera podatność prototype pollution, ponieważ klucze kontrolowane przez użytkownika są rozwijane do obiektów bez sprawdzania własnych właściwości. Klienci z prawem zapisu do klasy mogą wysyłać klucze pól w notacji kropkowej lub nazwy wpisów ACL pasujące do wbudowanych członków obiektu, aby uszkodzić wbudowane funkcje, powodując awarię wszystkich żądań do czasu restartu serwera.
- CVE-2026-119126Niskie
Parse Server przed 8.6.106 oraz 9.0.0 przed 9.10.5-alpha.7 nieprawidłowo obsługuje klucze notacji kropkowej z wartościami null lub undefined podczas budowania zapisywanego obiektu, więc zapis jest przechowywany, ale zwraca błąd i pomija wyzwalacze afterSave oraz zdarzenia LiveQuery. Klient z prawem zapisu może to wykorzystać do obejścia logowania audytowego, powiadomień i aktualizacji danych pochodnych.
- CVE-2026-119125Niskie
Parse Server przed 8.6.107 oraz 9.0.0 przed 9.10.5-alpha.8 zwraca przechowywaną wartość pola przywróconego przez wyzwalacz beforeSave w odpowiedziach na aktualizację obiektu, nawet klientom bez prawa odczytu tego obiektu lub pola. Uwierzytelniony klient mogący aktualizować obiekt, którego wyzwalacz beforeSave przywraca pole (poprzez revert() lub walidator constant: true), może odczytać chronione wartości, w tym surowe authData MFA własnego konta, gdy włączone jest protectedFieldsTriggerExempt.
Oryginalny opis (angielski, źródło NVD)
Parse Server is an open-source backend server. In versions >= 9.0.0 and < 9.10.1-alpha.8, and in versions < 8.6.89, LiveQuery evaluates the protectedFields class-level permission against an incompletely resolved caller identity: the subscriber's roles are not resolved, and when a subscription does not supply its own session token the event payload is redacted against an anonymous identity even though the read was authorized against the connected user. As a result, field masks defined for a role, for authenticated users, or for a specific user are not applied, so an authenticated subscriber can receive field values that the REST API correctly withholds and can use a masked field to filter or watch a subscription. Only classes with LiveQuery enabled that define protectedFields under a role:, authenticated, or per-user group are affected; masks under the public (*) group are applied correctly. The issue is fixed in 9.10.1-alpha.8 and 8.6.89. As a workaround, additionally define the affected field masks under the public (*) group, or disable LiveQuery for classes whose class-level permissions rely on role-scoped, authenticated, or per-user protectedFields groups.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

