Skip to content
Heist/ feed
HighFix available

Tinyauth: forward-auth per-app ACL is matched case-sensitively against the (case-insensitive) hostname, letting an authenticated user reach apps they are not on the allowlist for

Type: advisorySource: OSV1 source record

# tinyauth: forward-auth per-app ACL is matched case-sensitively against the (case-insensitive) hostname, letting an authenticated user reach apps they are not on the allowlist for ## GitHub Advisory Details (form fields — paste-ready) **Affected products** | Field | Value | |-------|-------| | Ecosystem | `Other (self-hosted)` / Go | | Package name | `github.com/steveiliop56/tinyauth` (forward-auth middleware) | | Affected versions | `< 5.1.2` | | Patched versions | `5.1.2` | **Advisory details** | Field | Value | |-------|-------| | Title | tinyauth forward-auth authorization bypass: per-app ACL host matching is case-sensitive while hostnames are case-insensitive, so a mixed-case host defeats `users`/`groups`/`ip` allowlists and fails open | - **Status:** Runtime-confirmed (local lab, 127.0.0.1 only) - **Target:** steveiliop56/tinyauth `v5.0.7` (commit `479f1657812b7bf01438607464dedaa148155301`); root cause also present on `main` HEAD - **Component:** `internal/service/access_controls_service.go` (`lookupStaticACLs` / `GetAccessControls`), `internal/service/docker_service.go` (`GetLabels`), `internal/controller/proxy_controller.go` (`proxyHandler`) - **Class:** Broken access control / authorization bypass across the per-app trust boundary ## Summary tinyauth is a forward-auth service: a reverse proxy (Traefik/Caddy/nginx/Envoy) calls `GET /api/auth/` on every request and only forwards the request upstream if tinyauth returns `200`. tinyauth decides *which* per-app access ru

Announced Source revision 1
Original source ↗

GHSA-328g-jx67-v94g

Primary source · Revision 1

Imported from structured advisory data. Source references identify upstream records or fields; verify affected versions and your deployed configuration.

Security context

Source reference: osv:GHSA-328g-jx67-v94g

github.com/tinyauthapp/tinyauth

Source reference: /affected/0/package/name

Affected versions
Not stated in this record
Fixed versions
1.0.1-0.20260720133915-80bc87188ec3

Source reference: /affected/0/ranges

Prerequisites
Not stated in this record

Structured affected-version data

Original package identities and version rules from this source.

[
  {
    "ranges": [
      {
        "type": "SEMVER",
        "events": [
          {
            "introduced": "0"
          },
          {
            "fixed": "1.0.1-0.20260720133915-80bc87188ec3"
          }
        ]
      }
    ],
    "package": {
      "name": "github.com/tinyauthapp/tinyauth",
      "purl": "pkg:golang/github.com/tinyauthapp/tinyauth",
      "ecosystem": "Go"
    },
    "database_specific": {
      "source": "https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/09/GHSA-328g-jx67-v94g/GHSA-328g-jx67-v94g.json"
    }
  }
]
Related CVEs
CVE-2026-77560

Source reference: /aliases

Publisher severity

high

Source reference: /database_specific/severity

Event
#63976 · Revision 1
Added to Heist Feed
Publisher date
Read the original announcement