OneUptime: ClickHouse SQL Injection via unvalidated column identifiers in sort, select, and groupBy parameters
Description
OneUptime is a solution for monitoring and managing online services. Prior to version 10.0.34, the fix for CVE-2026-32306 (ClickHouse SQL injection via aggregate query parameters) added column name validation to the _aggregateBy method but did not apply the same validation to three other query construction paths in StatementGenerator. The toSortStatement, toSelectStatement, and toGroupByStatement methods accept user-controlled object keys from API request bodies and interpolate them as ClickHouse Identifier parameters without verifying they correspond to actual model columns. ClickHouse Identifier parameters are substituted directly into queries without escaping, so an attacker who can reach any analytics list or aggregate endpoint can inject arbitrary SQL through crafted sort, select, or groupBy keys. This issue has been patched in version 10.0.34.
AI Insight
LLM-synthesized narrative grounded in this CVE's description and references.
OneUptime before 10.0.34 has a ClickHouse SQL injection in StatementGenerator methods that accept unvalidated user-controlled object keys as identifiers.
Vulnerability
Overview
CVE-2026-33142 is a ClickHouse SQL injection vulnerability in OneUptime, an open-source monitoring and observability platform. The root cause is that the toSortStatement, toSelectStatement, and toGroupByStatement methods in StatementGenerator.ts accept user-controlled object keys from API request bodies and interpolate them as ClickHouse Identifier parameters without verifying they correspond to actual model columns [1][3]. ClickHouse Identifier parameters are substituted directly into queries without escaping, making this a direct injection vector [3].
Attack
Vector and Prerequisites
An attacker who is authenticated and can reach any analytics list or aggregate endpoint (such as those for logs, metrics, spans, or exceptions) can exploit this vulnerability [3]. The BaseAnalyticsAPI.ts deserializes sort, select, and groupBy directly from req.body and passes them to the service layer without column validation [3]. This allows an attacker to craft malicious object keys that, when used as ClickHouse identifiers, inject arbitrary SQL.
Impact
A successful exploit allows an authenticated attacker to execute arbitrary ClickHouse SQL queries. This could lead to unauthorized data access, data exfiltration, or other database-level compromise [1][3]. The vulnerability is distinct from the previously fixed CVE-2026-32306, which only addressed validation in the _aggregateBy method [1].
Mitigation
The issue has been patched in OneUptime version 10.0.34 [1]. Users should upgrade to this version or later to remediate the vulnerability. No workarounds are mentioned in the available references.
AI Insight generated on May 18, 2026. Synthesized from this CVE's description and the cited reference URLs; citations are validated against the source bundle.
Affected packages
Versions sourced from the GitHub Security Advisory.
| Package | Affected versions | Patched versions |
|---|---|---|
oneuptimenpm | < 10.0.34 | 10.0.34 |
Affected products
2- OneUptime/oneuptimev5Range: < 10.0.34
Patches
0No patches discovered yet.
Vulnerability mechanics
AI mechanics synthesis has not run for this CVE yet.
References
3- github.com/advisories/GHSA-gcg3-c5p2-cqggghsaADVISORY
- nvd.nist.gov/vuln/detail/CVE-2026-33142ghsaADVISORY
- github.com/OneUptime/oneuptime/security/advisories/GHSA-gcg3-c5p2-cqggghsax_refsource_CONFIRMWEB
News mentions
0No linked articles in our index yet.