Skip to main content

Homer CVE-2026-62253

| EUVDEUVD-2026-94523 CRITICAL
Missing Authentication for Critical Function (CWE-306)
2026-10-07 https://github.com/sipcapture/homer GHSA-rqcc-94gv-wjm9
9.8
CVSS 3.1 · Vendor: https://github.com/sipcapture/homer
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Reach Homer coordinator API over network
  2. Delivery
    Send unauthenticated GET /api/v3/databases
  3. Exploit
    JWT middleware bypassed (empty secret)
  4. Execution
    Read users and DB credentials
  5. Persist
    POST /api/v3/users to create admin
  6. Impact
    Full read/write of config and VoIP data

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V6 - Authentication Authentication required for critical functions
MITRE ATT&CK

1 technique across 1 tactic: Initial Access

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitable when coordinator.jwt.secret is left at its Go struct default of empty string - i.e. a default installation where the operator did not explicitly set a JWT secret (the shipped example config contains only a placeholder, so config-file-driven installs may or may not be affected depending on whether that placeholder is applied). Under this condition the JWTMiddleware/JWTMiddlewareV4 functions return next(c) with no validation and the middleware is not even registered, exposing all /api/v1, /api/v3, and /api/v4 admin endpoints to remote unauthenticated requests. The only limiting factors are deployment-side: the coordinator API must be network-reachable by the attacker, and operators who set a non-empty strong secret are fully protected. No user interaction, credentials, or non-default feature toggles are required on an affected instance.

Impact

All signals align toward genuine high priority for exposed instances. The provided CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N, C:H/I:H/A:H, 9.8) is internally consistent with the description: on a default Homer install the JWT secret is empty, so both JWTMiddleware and JWTMiddlewareV4 short-circuit and protected /api/v1, /api/v3, /api/v4 routes are served with no authentication - a textbook CWE-306. PR:N is well-justified here because the unauthenticated state is the DEFAULT, not a misconfiguration the attacker must engineer. A working PoC (unauthenticated curl against /api/v3/users and /api/v3/databases, plus admin-user creation) is published in the GHSA advisory, so publicly available exploit code exists. No EPSS score and no KEV status were provided in the input, so real-world exploitation frequency cannot be quantified from this data; absence of KEV is NOT evidence of non-exploitation, only that CISA has not listed it. The main factor that could downgrade real risk is exposure: impact requires that the Homer coordinator API be network-reachable by the attacker and that the operator left the secret empty - the example config ships a placeholder, so operators who copied it may be unaffected. For any default or internet-exposed deployment this is a real, trivially exploitable critical issue; for hardened deployments with an explicit secret it is not exploitable at all.

Exploit ScenarioDerived

An attacker who can reach the Homer coordinator API over the network sends a plain unauthenticated HTTP request (e.g. GET /api/v3/databases) and immediately receives all stored database connection strings and user records. Because the same bypass covers write endpoints, they then POST to /api/v3/users to create an admin account, gaining full control over configuration, users, and captured VoIP call data. A public PoC exists in the vendor advisory, and the low attack complexity (AC:L) means no special timing or conditions are needed beyond network reachability of a default-configured instance.

Act Now Prioritize within 24-48h. Why: CRITICAL severity.
Patch available 0.4% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 07, 2026

Missing authentication in the HOMER (sipcapture Homer) coordinator allows remote unauthenticated attackers to fully control the administrative API whenever the JWT signing secret is left at its default empty value. Because JWTMiddleware and JWTMiddlewareV4 both short-circuit with next(c) when the secret is empty - and the middleware is not even registered on the protected route groups in that state - every endpoint under /api/v1, /api/v3 and /api/v4 is reachable without credentials, permitting reads and writes of users, configuration, database connection strings and stored VoIP call data, including creation of a new admin user. The flaw carries a 9.8 CVSS (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H) under CWE-306, is unauthenticated by vector, and a vendor fix is available per the advisory; exploitation status is no public exploit identified at time of analysis, though the vendor advisory itself contains curl-based reproduction steps.

RemediationAI

Vendor-released patch: upgrade to Homer release 11.0.283 or later, or apply PR https://github.com/sipcapture/homer/pull/839 (commit https://github.com/sipcapture/homer/commit/5e90809657c9df321db191a69c6050f873f5646b, Go module fixed version 0.0.0-20260625093330-5e90809657c9). The patch makes the coordinator fail closed: if coordinator.jwt.secret is empty it generates a random 32-byte secret, persists it as .homer_jwt_secret (0600) beside settings_db_path, and always registers JWTMiddleware/JWTMiddlewareV4; the middleware itself now returns HTTP 500 instead of bypassing validation. Immediately after upgrading, or as a hardening measure on any build, explicitly set coordinator.jwt.secret (minimum 32 characters, via config or HOMER_COORDINATOR_JWT_SECRET) - this is required for multi-host deployments because an auto-generated secret file is local to each node and will otherwise break cross-node token validation, and rotating the secret invalidates existing sessions/tokens. Until patching is possible, the only effective compensating control is to remove network exposure: bind the coordinator API to localhost or a management-only interface and block /api/v1, /api/v3 and /api/v4 from untrusted networks with firewall or reverse-proxy rules (deny-by-default), accepting that any host able to reach the port retains full administrative access; applying an authenticating reverse proxy in front of the API is a workaround but does not fix the underlying bypass if the coordinator port remains directly reachable. Assume any internet- or broadly reachable instance running with an empty secret has already been read from and potentially had rogue admin users or configuration changes injected, and audit users, configuration and database connection settings accordingly.

Affected VersionsENISA

homer < 11.0.283

Affected Packages

go github.com/sipcapture/homer-app fix: 0.0.0-20260625093330-5e90809657c9
euvd homer fix: 11.0.283

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 2 packages in go, euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Homer's coordinator is a Go service built on the Echo web framework, and access control is implemented as Echo middleware wrapping protected route groups. The affected code lives in coordinator/handlers/auth.go (JWTMiddleware) and coordinator/handlers/auth_v4_helpers.go (JWTMiddlewareV4): in both, an empty h.jwtSecret causes an immediate 'return next(c)', skipping all token validation. Compounding this, coordinator/coordinator.go only calls protected.Use(...) when c.config.JWT.Secret != "", so on the default configuration the middleware is never attached at all. The root cause class is CWE-306 (Missing Authentication for Critical Function) - the application fails open on an unconfigured security control rather than failing closed. The configuration default originates in config/config.go, where the JWT Secret struct tag is default:"", meaning installations that do not supply an explicit value end up with an empty signing secret; the package identifier in the affected-products data is pkg:go/github.com_sipcapture_homer-app, and the GitHub advisory (GHSA-rqcc-94gv-wjm9) maps the flaw to the Go module github.com/sipcapture/homer-app. The fix introduces a coordinator/services/jwt_secret.go helper (ResolveCoordinatorJWTSecret) that generates a 32-byte random secret, base64url-encodes it, persists it as .homer_jwt_secret (mode 0600) alongside settings_db_path, and unconditionally registers the JWT middleware, while the middleware itself now returns HTTP 500 ('JWT authentication is not configured') instead of passing the request through.

Know when the next one hits your stack

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (https://github.com/sipcapture/homer) PRIMARY 9.8 CRITICAL
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
vuln.today AI 9.8 CRITICAL

Default empty secret makes protected API remotely reachable with no credentials (AV:N/PR:N/UI:N/AC:L); full read/write of users, DB creds, and call data gives C:H/I:H/A:H.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (https://github.com/sipcapture/homer).

CVSS VectorVendor: https://github.com/sipcapture/homer

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

DescriptionCVE.org

Summary

Both JWT middleware functions (JWTMiddleware and JWTMiddlewareV4) immediately return next(c) when jwtSecret == "". The JWT secret defaults to an empty string. On a default installation, all protected API endpoints under /api/v1, /api/v3, and /api/v4 are completely unauthenticated.

Details

coordinator/handlers/auth.go lines 298-304:

go
func (h *Auth) JWTMiddleware() echo.MiddlewareFunc {
    return func(next echo.HandlerFunc) echo.HandlerFunc {
        return func(c echo.Context) error {
            if h.jwtSecret == "" {
                return next(c)  // bypass - no validation performed
            }

coordinator/handlers/auth_v4_helpers.go lines 177-182:

go
func (h *Auth) JWTMiddlewareV4() echo.MiddlewareFunc {
    return func(next echo.HandlerFunc) echo.HandlerFunc {
        return func(c echo.Context) error {
            if h.jwtSecret == "" {
                return next(c)  // same bypass

coordinator/coordinator.go lines 315-317:

go
if c.config.JWT.Secret != "" {
    protected.Use(authHandler.JWTMiddleware())  // middleware not even registered when secret is empty
}

config/config.go line 845: Secret field struct tag has default:"". The example config ships a placeholder value, but the Go struct default (used when no config is provided) is empty.

PoC

bash
# On a default Homer installation (no JWT secret configured), all protected routes are open:
curl http://<homer-host>/api/v3/users
# Returns full user list with no credentials

curl http://<homer-host>/api/v3/databases
# Returns all database connection strings

curl -X POST http://<homer-host>/api/v3/users \
  -H 'Content-Type: application/json' \
  -d '{"username":"attacker","password":"pw","partid":10,"usergroup":"admin"}'
# Creates a new admin user with no credentials

Impact

Missing Authentication for Critical Function (CWE-306). On a default Homer installation with no JWT secret configured, every admin API endpoint is completely unauthenticated. Attackers can read/write all configuration, users, database connections, and stored VoIP call data.

Fix

Fail closed: if JWT.Secret is empty at startup, abort with a fatal error requiring the operator to set a strong secret. Remove the empty-string shortcircuit from both middleware functions:

go
if h.jwtSecret == "" {
    log.Fatal("coordinator.jwt.secret must be set to a non-empty value")
}

If possible, please apply for a CVE number when posting.

Technical POC Analysis

Missing Authentication for Critical Function, CWE-306.

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Executive ViewAI

Why It Matters

Organizations running HOMER (sipcapture Homer) coordinator with an empty JWT signing secret face unauthenticated remote takeover of the administrative API, exposing user accounts, configuration, database connection strings, and stored VoIP call data. The vulnerability is rated critical (CVSS 9.8), is unauthenticated by vector, and allows attackers to create admin users and alter system data, so leadership should treat it as a severe operational and data-protection risk. Exploitation status is no public exploit identified at time of analysis, and patch status is Patch available per vendor advisory.

Business Impact: Severe
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.4%
Top 65% exploitable
Prevalence
Low
niche open-source VoIP/SIP capture platform, telecom-specific footprint
Threat Intel
1
1 sources
Data Quality
6 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GHSA GitHub

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity CRITICAL
CISA KEV No
Public POC No
EPSS 0.4%
Patch available Yes
Active threat No
Deciding rule
CRITICAL severity
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Out-of-Cycle
Exploitation
Poc
System Exposure· derived
Open
Automatable
Yes
Human Impact
Very High
Technical Impact
Total

Priority Score

49
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +49
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy