Description
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.
Published: 2026-09-10
Score: 7.1 High
EPSS: < 1% Very Low
KEV: No
Impact: Authorization bypass enabling unauthorized read and potential account takeover
Action: Patch Now
AI Analysis

Impact

The CVE describes an authorization bypass in the Countly Server DBViewer component. A flaw in the aggregation stage sanitizer allows an authenticated user with read permissions, but not admin rights, to inject disallowed MongoDB operators such as $lookup into $facet sub‑pipelines. The sanitizer misclassifies nested arrays as generic arrays when an element contains an unrecognized key, skipping proper sanitization for all sibling stages. By manipulating this behavior, the attacker can perform cross‑collection joins into protected collections, read sensitive data like password‑reset tokens, and potentially compromise user accounts. This flaw is identified as a CWE‑863 vulnerability that permits privilege escalation or privilege bypass during request handling.

Affected Systems

All installations of Countly Server that contain the DBViewer feature are affected. The advisory does not delimit a specific version range, so any current or future release that incorporates the relevant code path is potentially vulnerable. Administrators should audit their installations to confirm whether the DBViewer component is enabled and whether the affected code path is present.

Risk and Exploitability

The CVSS score of 7.1 represents a medium‑to‑high risk. EPSS is not available, so the likelihood of widespread exploitation remains unknown, and the vulnerability is not yet listed in CISA’s Known Exploited Vulnerabilities catalog. The attack requires an authenticated non‑admin account with DBViewer read access; once the injection is successful, the attacker can read restricted collections and gain account‑takeover leverage. Given the potential impact on confidentiality and account integrity, affected deployments should address the issue promptly, even in the absence of current exploitation evidence.

Generated by OpenCVE AI on September 10, 2026 at 12:22 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Apply the vendor‑issued patch that corrects the sub‑pipeline sanitization logic in Countly Server DBViewer.
  • Restrict DBViewer read‑only permissions to trusted accounts, eliminating the privilege necessary for exploitation.
  • Deploy a runtime policy or firewall rule that blocks $lookup operators or otherwise flags aggregate queries containing forbidden stages.

Generated by OpenCVE AI on September 10, 2026 at 12:22 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Thu, 10 Sep 2026 14:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Thu, 10 Sep 2026 12:45:00 +0000

Type Values Removed Values Added
Title Countly Server DBViewer Authorization Bypass Enabling Unauthorized Data Access

Thu, 10 Sep 2026 10:00:00 +0000

Type Values Removed Values Added
Description 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.
Weaknesses CWE-863
References
Metrics cvssV3_1

{'score': 7.1, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:N'}

cvssV4_0

{'score': 7.1, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:L/VA:N/SC:N/SI:N/SA:N'}


Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: snyk

Published:

Updated: 2026-09-10T13:17:16.963Z

Reserved: 2026-09-09T10:11:56.597Z

Link: CVE-2026-87803

cve-icon Vulnrichment

Updated: 2026-09-10T13:17:05.149Z

cve-icon NVD

Status : Deferred

Published: 2026-09-10T10:17:32.610

Modified: 2026-09-10T15:53:23.707

Link: CVE-2026-87803

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-09-10T12:30:07Z

Weaknesses