PT-2026-48473 · Go-Base · Go-Base

CVE-2026-48031

·

Published

2026-06-10

·

Updated

2026-08-03

CVSS v3.1

9.1

Critical

VectorAV: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 SECRET variable is set to a known weak value.
  • Vulnerable Functions: The GenTokenPair() function in pwdless/api.go issues tokens signed with this weak key, and jwtauth.New() in auth/jwt/tokenauth.go initializes 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

CVE-2026-48031
GHSA-MQQ6-462X-JXMM
GO-2026-5515
OPENSUSE-SU-2026:21483-1

Affected Products

Go-Base