Katalog CVE

CVE-2026-87803

WysokieCVSS 7.1
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.31%

Percentyl 23 - wyżej niż 23% wszystkich znanych CVE

Streszczenie

W Countly Server DBViewer występuje obejście autoryzacji spowodowane błędnym wykrywaniem pod-potoków w sanitizerze etapu agregacji. Endpoint /o/db błędnie klasyfikuje zagnieżdżone tablice, gdy zawierają nieznany klucz etapu (np. $_internalInhibitOptimization), co pozwala użytkownikowi bez uprawnień administratora wstrzyknąć zabronione operatory, takie jak $lookup, i wykonywać zapytania do zastrzeżonych kolekcji.

Ocena ryzyka

Prowadzi to do nieautoryzowanego dostępu do danych wrażliwych, w tym tokenów resetowania hasła (prid), co umożliwia przejęcie konta.

Rekomendacja

Zaktualizuj Countly Server do wersji zawierającej poprawkę sanitizera agregacji oraz ogranicz uprawnienia DBViewer do niezbędnego minimum.

Powiązane podatności

Oryginalny opis (angielski, źródło NVD)

An authorization bypass vulnerability exists in the Countly Server DBViewer due to flawed sub-pipeline detection in the aggregation stage sanitizer. The /o/db aggregation endpoint parses user-controlled aggregation JSON and passes it through a stage sanitizer that determines whether a nested array is a sub-pipeline by checking if every element contains a key present in a hardcoded KNOWN_STAGE_OPERATORS set. If any element contains an unrecognized stage key, such as the undocumented MongoDB-internal $_internalInhibitOptimization, the sanitizer misclassifies the entire branch as a generic array and skips stage-level stripping for all sibling stages. This allows a non-admin user with DBViewer read permission to inject forbidden operators like $lookup inside $facet sub-pipelines, performing cross-collection joins into restricted collections. This leads to unauthorized read access to sensitive data including password-reset tokens (prid), enabling account takeover.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS