PT-2026-48473 · Go-Base · Go-Base
CVE-2026-48031
·
Published
2026-06-10
·
Updated
2026-08-03
CVSS v3.1
9.1
Critical
| Vector | AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N |
Name of the Vulnerable Software and Affected Versions
go-base versions prior to 2026-05-18
Description
The JWT signing secret is hardcoded to the string
random in the dev.env template and as a programmatic fallback in the cmd/serve.go file. This allows an attacker to forge tokens for any user, including those with admin roles, resulting in a complete authentication bypass across all protected endpoints.A previous attempt to mitigate this in
auth/jwt/tokenauth.go was flawed because it only checked for the exact string random and replaced it with a non-persistent in-memory key. This caused a denial-of-service by invalidating all active tokens every time the application restarted.Technical details include:
- Vulnerable Parameters: The
AUTH JWT SECRETvariable is set to a known weak value. - Vulnerable Functions: The
GenTokenPair()function inpwdless/api.goissues tokens signed with this weak key, andjwtauth.New()inauth/jwt/tokenauth.goinitializes the signer with it.
Recommendations
Update go-base to version 2026-05-18 or later.
As a temporary mitigation, manually set a strong, unique value for the
AUTH JWT SECRET environment variable and ensure it is not set to random, secret, changeme, change-me, default, or left empty.Exploit
Fix
DoS
Using Hardcoded Credentials
Found an issue in the description? Have something to add? Feel free to write us 👾
Weakness Enumeration
Related Identifiers
Affected Products
Go-Base