<?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 05:35:11 +0000</lastBuildDate>
    <item>
      <title>fkie_cve-2026-62253</title>
      <link>https://vulnerability.circl.lu/vuln/fkie_cve-2026-62253</link>
      <description>&lt;p&gt;Homer is open source telecom observability software. Prior to version 11.0.283, both JWT middleware functions (`JWTMiddleware` and `JWTMiddlewareV4`) immediately return `next(c)` when `jwtSecret == &amp;#34;&amp;#34;`. 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. 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, both JWT middleware functions (`JWTMiddleware` and `JWTMiddlewareV4`) immediately return `next(c)` when `jwtSecret == &amp;#34;&amp;#34;`. 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. Version 11.0.283 patches the issue.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/fkie_cve-2026-62253</guid>
    </item>
    <item>
      <title>GHSA-rqcc-94gv-wjm9 — Homer: Complete Authentication Bypass When coordinator.jwt.secret Is Empty (Default)</title>
      <link>https://vulnerability.circl.lu/vuln/ghsa-rqcc-94gv-wjm9</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
Both JWT middleware functions (`JWTMiddleware` and `JWTMiddlewareV4`) immediately return `next(c)` when `jwtSecret == &amp;#34;&amp;#34;`. 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.&lt;/p&gt;
&lt;p&gt;### 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 == &amp;#34;&amp;#34; {
                return next(c)  // bypass — no validation performed
            }
```&lt;/p&gt;
&lt;p&gt;**`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 == &amp;#34;&amp;#34; {
                return next(c)  // same bypass
```&lt;/p&gt;
&lt;p&gt;**`coordinator/coordinator.go` lines 315-317:**
```go
if c.config.JWT.Secret != &amp;#34;&amp;#34; {
    protected.Use(authHandler.JWTMiddleware())  // middleware not even registered when secret is empty
}
```&lt;/p&gt;
&lt;p&gt;**`config/config.go` line 845:** `Secret` field struct tag has `default:&amp;#34;&amp;#34;`.
The example config ships a placeholder value, but the Go struct default (used when no config is provided) is empty.&lt;/p&gt;
&lt;p&gt;### PoC
```bash
# On a default Homer installation (no JWT secret configured), all protected routes are open:
curl http://&amp;lt;homer-host&amp;gt;/api/v3/user…&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
Both JWT middleware functions (`JWTMiddleware` and `JWTMiddlewareV4`) immediately return `next(c)` when `jwtSecret == &amp;#34;&amp;#34;`. 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.&lt;/p&gt;
&lt;p&gt;### 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 == &amp;#34;&amp;#34; {
                return next(c)  // bypass — no validation performed
            }
```&lt;/p&gt;
&lt;p&gt;**`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 == &amp;#34;&amp;#34; {
                return next(c)  // same bypass
```&lt;/p&gt;
&lt;p&gt;**`coordinator/coordinator.go` lines 315-317:**
```go
if c.config.JWT.Secret != &amp;#34;&amp;#34; {
    protected.Use(authHandler.JWTMiddleware())  // middleware not even registered when secret is empty
}
```&lt;/p&gt;
&lt;p&gt;**`config/config.go` line 845:** `Secret` field struct tag has `default:&amp;#34;&amp;#34;`.
The example config ships a placeholder value, but the Go struct default (used when no config is provided) is empty.&lt;/p&gt;
&lt;p&gt;### PoC
```bash
# On a default Homer installation (no JWT secret configured), all protected routes are open:
curl http://&amp;lt;homer-host&amp;gt;/api/v3/user…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/ghsa-rqcc-94gv-wjm9</guid>
    </item>
  </channel>
</rss>
