<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0">
  <channel>
    <title>Most recent entries from all</title>
    <link>https://cve.radiocsirt.org</link>
    <description>Contains only the most 10 recent entries.</description>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <generator>python-feedgen</generator>
    <language>en</language>
    <lastBuildDate>Mon, 05 Oct 2026 23:23:19 +0000</lastBuildDate>
    <item>
      <title>EUVD-2026-276046</title>
      <link>https://cve.radiocsirt.org/vuln/euvd-2026-276046</link>
      <description>EUVD-2026-276046</description>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/euvd-2026-276046</guid>
    </item>
    <item>
      <title>fkie_cve-2026-32306</title>
      <link>https://cve.radiocsirt.org/vuln/fkie_cve-2026-32306</link>
      <description>&lt;p&gt;OneUptime is a solution for monitoring and managing online services. Prior to 10.0.23, the telemetry aggregation API accepts user-controlled aggregationType, aggregateColumnName, and aggregationTimestampColumnName parameters and interpolates them directly into ClickHouse SQL queries via the .append() method (documented as &amp;#34;trusted SQL&amp;#34;). There is no allowlist, no parameterized query binding, and no input validation. An authenticated user can inject arbitrary SQL into ClickHouse, enabling full database read (including telemetry data from all tenants), data modification, and potential remote code execution via ClickHouse table functions. This vulnerability is fixed in 10.0.23.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;OneUptime is a solution for monitoring and managing online services. Prior to 10.0.23, the telemetry aggregation API accepts user-controlled aggregationType, aggregateColumnName, and aggregationTimestampColumnName parameters and interpolates them directly into ClickHouse SQL queries via the .append() method (documented as &amp;#34;trusted SQL&amp;#34;). There is no allowlist, no parameterized query binding, and no input validation. An authenticated user can inject arbitrary SQL into ClickHouse, enabling full database read (including telemetry data from all tenants), data modification, and potential remote code execution via ClickHouse table functions. This vulnerability is fixed in 10.0.23.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/fkie_cve-2026-32306</guid>
    </item>
    <item>
      <title>GHSA-p5g2-jm85-8g35 — OneUptime ClickHouse SQL Injection via Aggregate Query Parameters</title>
      <link>https://cve.radiocsirt.org/vuln/ghsa-p5g2-jm85-8g35</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; npm: oneuptime&lt;/p&gt;
&lt;p&gt;### Summary&lt;/p&gt;
&lt;p&gt;The telemetry aggregation API accepts user-controlled `aggregationType`, `aggregateColumnName`, and `aggregationTimestampColumnName` parameters and interpolates them directly into ClickHouse SQL queries via the `.append()` method (documented as &amp;#34;trusted SQL&amp;#34;). There is no allowlist, no parameterized query binding, and no input validation. An authenticated user can inject arbitrary SQL into ClickHouse, enabling full database read (including telemetry data from all tenants), data modification, and potential remote code execution via ClickHouse table functions.&lt;/p&gt;
&lt;p&gt;### Details&lt;/p&gt;
&lt;p&gt;**Entry Point — `Common/Server/API/BaseAnalyticsAPI.ts:88-98, 292-296`:**&lt;/p&gt;
&lt;p&gt;The `POST /{modelName}/aggregate` route deserializes `aggregateBy` directly from the request body:&lt;/p&gt;
&lt;p&gt;```typescript
// BaseAnalyticsAPI.ts:292-296
const aggregateBy: AggregateBy&amp;lt;TBaseModel&amp;gt; = JSONFunctions.deserialize(
    req.body[&amp;#34;aggregateBy&amp;#34;]
) as AggregateBy&amp;lt;TBaseModel&amp;gt;;
```&lt;/p&gt;
&lt;p&gt;No schema validation is applied to `aggregateBy`. The object flows directly to the database service.&lt;/p&gt;
&lt;p&gt;**No Validation — `Common/Server/Services/AnalyticsDatabaseService.ts:276-278`:**&lt;/p&gt;
&lt;p&gt;```typescript
// AnalyticsDatabaseService.ts:276-278
if (aggregateBy.aggregationType) {
    // Only truthiness check — no allowlist
}
```&lt;/p&gt;
&lt;p&gt;The `aggregationType` field is only checked for existence, never validated against an allowed set of values (e.g., `AVG`, `SUM`, `COUNT`).&lt;/p&gt;
&lt;p&gt;**Raw SQL Injection — `Common/Server/Utils/AnalyticsDatabase/StatementGenerator.ts:527`:…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; npm: oneuptime&lt;/p&gt;
&lt;p&gt;### Summary&lt;/p&gt;
&lt;p&gt;The telemetry aggregation API accepts user-controlled `aggregationType`, `aggregateColumnName`, and `aggregationTimestampColumnName` parameters and interpolates them directly into ClickHouse SQL queries via the `.append()` method (documented as &amp;#34;trusted SQL&amp;#34;). There is no allowlist, no parameterized query binding, and no input validation. An authenticated user can inject arbitrary SQL into ClickHouse, enabling full database read (including telemetry data from all tenants), data modification, and potential remote code execution via ClickHouse table functions.&lt;/p&gt;
&lt;p&gt;### Details&lt;/p&gt;
&lt;p&gt;**Entry Point — `Common/Server/API/BaseAnalyticsAPI.ts:88-98, 292-296`:**&lt;/p&gt;
&lt;p&gt;The `POST /{modelName}/aggregate` route deserializes `aggregateBy` directly from the request body:&lt;/p&gt;
&lt;p&gt;```typescript
// BaseAnalyticsAPI.ts:292-296
const aggregateBy: AggregateBy&amp;lt;TBaseModel&amp;gt; = JSONFunctions.deserialize(
    req.body[&amp;#34;aggregateBy&amp;#34;]
) as AggregateBy&amp;lt;TBaseModel&amp;gt;;
```&lt;/p&gt;
&lt;p&gt;No schema validation is applied to `aggregateBy`. The object flows directly to the database service.&lt;/p&gt;
&lt;p&gt;**No Validation — `Common/Server/Services/AnalyticsDatabaseService.ts:276-278`:**&lt;/p&gt;
&lt;p&gt;```typescript
// AnalyticsDatabaseService.ts:276-278
if (aggregateBy.aggregationType) {
    // Only truthiness check — no allowlist
}
```&lt;/p&gt;
&lt;p&gt;The `aggregationType` field is only checked for existence, never validated against an allowed set of values (e.g., `AVG`, `SUM`, `COUNT`).&lt;/p&gt;
&lt;p&gt;**Raw SQL Injection — `Common/Server/Utils/AnalyticsDatabase/StatementGenerator.ts:527`:…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/ghsa-p5g2-jm85-8g35</guid>
    </item>
  </channel>
</rss>
