Vulnerabilities in pkg:golang/github.com/sipcapture/homer-app

PACKAGE
Advisory Identifier: GHSA-f46q-3v67-fmm4
Advisory Summary

CVE-2026-62251 is a HIGH (CVSS 8.1) sql injection vulnerability (CWE-89: Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')) affecting Homer libraries in the Go ecosystem. The issue involves authenticated sql injection via unvalidated rawquery field in /api/v4/statistics/query. Remediation is available by upgrading affected packages to version 0.0.0-20260625085520-a7d027dc684b.

3 Known Advisory Record(s)
Package Vulnerability Intelligence

pkg:golang/github.com/sipcapture/homer-app

3 Known Advisory Record(s)

Vulnerability advisories affecting package pkg:golang/github.com/sipcapture/homer-app. Select an advisory below to view technical details or fixes.

Advisory ID CVE / NVD Severity Summary
GHSA-f46q-3v67-fmm4 CVE-2026-62251 HIGH Homer: Authenticated SQL Injection via Unvalidated rawquery Field in /api/v4/statistics/query
GHSA-6xp5-7rcx-xfgx CVE-2026-62252 CRITICAL Homer: Hardcoded Default Admin Password 'sipcapture' With No Forced Change on First Login
GHSA-rqcc-94gv-wjm9 CVE-2026-62253 CRITICAL Homer: Complete Authentication Bypass When coordinator.jwt.secret Is Empty (Default)

CVE-2026-62251 at a Glance

CVE Identifier CVE-2026-62251
GHSA Identifier GHSA-f46q-3v67-fmm4
Severity HIGH
CVSS v3.1 Base Score 8.1
CWE Classification CWE-89: Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')
Affected Product Homer
Package Ecosystem Go
Published Date
Last Updated

Security Impact

CVSS: 8.1

The security impact metrics below are parsed directly from the CVSS v3.1 vector string (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N).

Attack Vector Network (AV:N)
Attack Complexity Low (AC:L)
Privileges Required Low (PR:L)
User Interaction None (UI:N)
Scope Unchanged (S:U)
Confidentiality High (C:H)
Integrity High (I:H)
Availability None (A:N)

How to Fix CVE-2026-62251

To remediate this vulnerability, upgrade all affected Homer dependencies to a patched release. Both direct and transitive dependencies should be checked, as frameworks or security libraries may pull in vulnerable versions transitively.

github.com/sipcapture/homer-app fixed: 0.0.0-20260625085520-a7d027dc684b
Upgrade github.com/sipcapture/homer-app to 0.0.0-20260625085520-a7d027dc684b
Verify Direct and Transitive Dependencies

Run the following command in your project directory to verify that all resolved dependencies use the patched release:

inspect dependencies for github.com/sipcapture/homer-app

How to Check if You Are Affected

To determine whether your application is affected by CVE-2026-62251, inspect your project dependencies for Homer:

inspect dependencies for github.com/sipcapture/homer-app

Analyze the terminal output to locate any version of Homer in your dependency tree. If any resolved version matches the vulnerable ranges listed in the table below (for example, versions earlier than 0.0.0-20260625085520-a7d027dc684b), your application is affected.

Note: Verify declared build manifests and deployed runtime container environments.

Technical Details

Vulnerability Mechanism & Technical Analysis

This vulnerability is classified under CWE-89: Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection'), where the product constructs all or part of an sql command using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the intended sql command when it is sent to a downstream component. without sufficient removal or quoting of sql syntax in user-controllable inputs, the generated sql query can cause those inputs to be interpreted as sql instead of ordinary user data. In Homer, software state validation or input boundaries are circumvented during processing. Review the official source advisory statement below for specific affected components, classes, and reproduction details.

Source Advisory Statement

### 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. ### Details **`coordinator/handlers/statistics_v4.go` lines 74-107** — `V4StatisticsQuery`: ```go query := &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) ``` **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, ...) } ``` `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. ### PoC ```bash # With a valid JWT (or empty JWT secret bypass): curl -s -X POST http://<homer-host>/api/v4/statistics/query \ -H "Authorization: Bearer <jwt>" \ -H "Content-Type: application/json" \ -d '{ "param": { "query": [{"rawquery": "SELECT * FROM information_schema.tables"}] } }' # Returns all table names accessible to the DuckDB FlightSQL service # Exfiltrate all stored call records: # "rawquery": "SELECT * FROM hep LIMIT 1000" # Arbitrary DuckDB SQL is accepted including INSTALL/LOAD for extension-based exfiltration ``` ### Impact SQL Injection / Improper Neutralization of Special Elements (CWE-89). Any authenticated user can execute arbitrary SQL against all data accessible to the FlightSQL/DuckDB backend — including all stored VoIP call records, SIP messages, and metadata. Combined with the authentication bypass when JWT secret is empty, this is exploitable without credentials. ### Fix Apply `sqlvalidator.ValidateRawSQL()` to `query.RawQuery` before passing it to `h.flightService.Query()`, matching the pattern already used in `search.go` and `transactions_v4.go`. If possible, please apply for a CVE number when posting.

CVE-2026-62251 Affected Homer Versions

1 component(s)
Fixed Versions:
0.0.0-20260625085520-a7d027dc684b
Product / Package Ecosystem Affected Versions Fixed Version
github.com/sipcapture/homer-app
Go
< 0.0.0-20260625085520-a7d027dc684b
0.0.0-20260625085520-a7d027dc684b

References

Frequently Asked Questions

What is CVE-2026-62251?
CVE-2026-62251 is a security vulnerability in Homer involving Authenticated SQL Injection via Unvalidated rawquery Field in /api/v4/statistics/query under CWE-89: Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection').
Which Homer versions are affected?
Affected versions include releases prior to 0.0.0-20260625085520-a7d027dc684b across affected packages: github.com/sipcapture/homer-app.
What version fixes CVE-2026-62251?
Upgrading to 0.0.0-20260625085520-a7d027dc684b (or the latest patched release for your respective branch) resolves the vulnerability.
Is github.com/sipcapture/homer-app affected?
Yes, github.com/sipcapture/homer-app is affected in releases prior to 0.0.0-20260625085520-a7d027dc684b. Upgrade your dependency to 0.0.0-20260625085520-a7d027dc684b or later.
What is the CVSS score of CVE-2026-62251?
CVE-2026-62251 has a CVSS v3.1 base score of 8.1 (HIGH) with vector string CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N.
What CWE is associated with CVE-2026-62251?
CVE-2026-62251 is classified under CWE-89: Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection') (The product constructs all or part of an SQL command using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the intended SQL command when it is sent to a downstream component. Without sufficient removal or quoting of SQL syntax in user-controllable inputs, the generated SQL query can cause those inputs to be interpreted as SQL instead of ordinary user data.).
How can I check Go dependencies for CVE-2026-62251?
Run the dependency tree command: 'inspect dependencies for github.com/sipcapture/homer-app'. This command lists direct and transitive dependencies in your build configuration so you can verify if a vulnerable version is resolved.
Machine-readable OSV JSON OSV v1.5 Schema
Normalized schema output
{
  "schema_version" : "1.4.0",
  "id" : "GHSA-f46q-3v67-fmm4",
  "modified" : "2026-10-07T16:13:08Z",
  "published" : "2026-10-07T16:13:08Z",
  "aliases" : [ "CVE-2026-62251" ],
  "summary" : "Homer: Authenticated SQL Injection via Unvalidated rawquery Field in /api/v4/statistics/query",
  "details" : "### Summary\nThe `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.\n\n### Details\n**`coordinator/handlers/statistics_v4.go` lines 74-107** — `V4StatisticsQuery`:\n```go\nquery := &model.V4StatisticsQuery{}\nif err = c.Bind(query); err != nil { ... }\n// No ValidateRawSQL call here — contrast with other handlers:\nresults, err := h.flightService.Query(c.Request().Context(), query.RawQuery)\n```\n\n**Contrast with `coordinator/handlers/search.go` line 194** — secure pattern not followed:\n```go\nif err := sqlvalidator.ValidateRawSQL(rawQuery); err != nil {\n    return c.JSON(http.StatusBadRequest, ...)\n}\n```\n\n`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.\n\n### PoC\n```bash\n# With a valid JWT (or empty JWT secret bypass):\ncurl -s -X POST http://<homer-host>/api/v4/statistics/query \\\n  -H \"Authorization: Bearer <jwt>\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"param\": {\n      \"query\": [{\"rawquery\": \"SELECT * FROM information_schema.tables\"}]\n    }\n  }'\n# Returns all table names accessible to the DuckDB FlightSQL service\n\n# Exfiltrate all stored call records:\n# \"rawquery\": \"SELECT * FROM hep LIMIT 1000\"\n# Arbitrary DuckDB SQL is accepted including INSTALL/LOAD for extension-based exfiltration\n```\n\n### Impact\nSQL Injection / Improper Neutralization of Special Elements (CWE-89). Any authenticated user can execute arbitrary SQL against all data accessible to the FlightSQL/DuckDB backend — including all stored VoIP call records, SIP messages, and metadata. Combined with the authentication bypass when JWT secret is empty, this is exploitable without credentials.\n\n### Fix\nApply `sqlvalidator.ValidateRawSQL()` to `query.RawQuery` before passing it to `h.flightService.Query()`, matching the pattern already used in `search.go` and `transactions_v4.go`.\n\nIf possible, please apply for a CVE number when posting.",
  "severity" : [ {
    "type" : "CVSS_V3",
    "score" : "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N"
  } ],
  "affected" : [ {
    "package" : {
      "ecosystem" : "Go",
      "name" : "github.com/sipcapture/homer-app"
    },
    "ranges" : [ {
      "type" : "ECOSYSTEM",
      "events" : [ {
        "introduced" : "0"
      }, {
        "fixed" : "0.0.0-20260625085520-a7d027dc684b"
      } ]
    } ]
  } ],
  "references" : [ {
    "type" : "WEB",
    "url" : "https://github.com/sipcapture/homer/security/advisories/GHSA-f46q-3v67-fmm4"
  }, {
    "type" : "WEB",
    "url" : "https://github.com/sipcapture/homer/pull/837"
  }, {
    "type" : "WEB",
    "url" : "https://github.com/sipcapture/homer/commit/a7d027dc684b210b62285c49f555ac88d64f35f0"
  }, {
    "type" : "PACKAGE",
    "url" : "https://github.com/sipcapture/homer"
  }, {
    "type" : "WEB",
    "url" : "https://github.com/sipcapture/homer/releases/tag/11.0.283"
  } ],
  "database_specific" : {
    "cwe_ids" : [ "CWE-89" ],
    "severity" : "HIGH",
    "github_reviewed" : true,
    "github_reviewed_at" : "2026-10-07T16:13:08Z",
    "nvd_published_at" : null
  }
}