CVE-2026-77560 json
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
published 2026-09-21 48 d ago modified 2026-10-01 38 d ago also GHSA-328g-jx67-v94g , GO-2026-6552 , EUVD-2026-84011
- cvss
- 8.1
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.6%
- EPSS 0.6% chance of exploitation in 30 days, percentile 49%
- public exploits
- 0
- none known
Summary
Tinyauth is an authentication and authorization server. Prior to 5.1.2, Tinyauth compares forwarded hostnames case-sensitively while reverse proxies route equivalent hostnames case-insensitively, allowing an authenticated low-privilege user to bypass per-app access controls with a differently cased hostname. The lookup in internal/service/access_controls_service.go through lookupStaticACLs and GetAccessControls, and the Docker-label fallback in internal/service/docker_service.go through GetLabels, can miss the configured app and return an empty access-control object. internal/controller/proxy_controller.go proxyHandler then treats the empty user, group, OAuth, LDAP, and IP restrictions as permissive and returns an authenticated result for an app that should exclude the user. Unauthenticated users remain subject to login, and global login-time allowlists are not bypassed. This issue is fixed in version 5.1.2.
Patch / fix
- go github.com/tinyauthapp/tinyauth 1.0.1-0.20260720133915-80bc87188ec3
- github.com/tinyauthapp/tinyauth@80bc871 commit
- github.com/tinyauthapp/tinyauth@e75605b commit
- github.com/tinyauthapp/tinyauth#1000 pull request
- github.com/tinyauthapp/tinyauth#1028 pull request
- github.com/tinyauthapp/tinyauth/releases/tag/v5.1.2 release
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- total
- Assessed
- 48 d ago
Exploit prediction
0.61% chance of exploitation in the next 30 days, higher than 49% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 8.1 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N |
| GitHub | 3.1 | 8.1 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| go | github.com/tinyauthapp/tinyauth | <1.0.1-0.20260720133915-80bc87188ec3 |
1.0.1-0.20260720133915-80bc87188ec3 |
Affected products
- tinyauthapp tinyauth
Classification
References
-
github.com
/tinyauthapp/tinyauth/pull/1000
web, patch
-
github.com
/tinyauthapp/tinyauth/pull/1028
web, patch
-
github.com
/tinyauthapp/tinyauth/commit/80bc87188ec3aabc5104c249eaa7b997973b9275
web, patch
-
github.com
/tinyauthapp/tinyauth/commit/e75605b2c534ec83525a33603e16d76baca13399
web, patch
-
github.com
/tinyauthapp/tinyauth/security/advisories/GHSA-328g-jx67-v94g
web, advisory
-
github.com
/tinyauthapp/tinyauth/releases/tag/v5.1.2
web
-
nvd.nist.gov
/vuln/detail/CVE-2026-77560
advisory
-
github.com
/tinyauthapp/tinyauth
package
Sources
- CVE List CVE-2026-77560
- GitHub Advisory GHSA-328g-jx67-v94g
- NVD CVE-2026-77560
- OSV GO-2026-6552
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.