CVE-2026-48031: dhax go-base · Use of Hard-coded Credentials
Affects dhax go-baseSource CVE Database V5
Not known to be exploited · CVSS 9.1 Critical : upgrade to 2026-05-18 as a priority.
Data as of 1 Nov 2026, 22:58 UTC
- EPSS
- 0.6% chance of exploitation in 30 days – higher than 50% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
- Patch
- Available – fixed in 2026-05-18
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:NExploitation evidence
Disclosed: evidence found.
CVE published 3 Aug 2026
Detectable: no evidence on record.
No public nuclei template indexed
Weaponized: no evidence on record.
No public exploit code indexed in Metasploit or Exploit-DB
Exploited in the wildExploited: no evidence on record.
Not in CISA KEV and no source reports exploitation
Observed by OffSeq MirageSeen by Mirage: no evidence on record.
No attack traffic recorded by OffSeq Mirage sensors
A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 1 Nov 2026.
What to do
Upgrade github.com/dhax/go-base to 2026-05-18.
Affected software
| Product | Affected | Fixed in |
|---|---|---|
| dhaxgo-base | Affected
| Fixed in– |
Gogithub.com/dhax/go-basepkg:golang/github.com/dhax/go-baseOther threats | Affected
| Fixed in
|
Check your own hosts for these packages with threat-finder (opens in a new tab), our free open-source scanner.
AI-suggested
Upgrade to version 2026-05-18 or later where the hardcoded JWT signing secret issue is fixed. Until upgrade, do not use the vulnerable versions as the hardcoded secret allows token forgery. Patch status is not explicitly stated as 'official-fix' or 'patchAvailable' but the description confirms the issue is fixed in version 2026-05-18.
Description
go-base is a Go RESTful API Boilerplate template with JWT Authentication, backed by PostgreSQL. In versions prior to 2026-05-18, the JWT signing secret is hardcoded to the known string "random", letting any attacker who reads the public repository forge tokens for arbitrary users, including admin roles, and completely bypass authentication on all protected endpoints. This value is set in two places: the dev.env template (line 10) and a programmatic fallback in cmd/serve.go (line 35), so the application uses it even when no .env file is present. The original mitigation in auth/jwt/tokenauth.go (lines 22 to 25) only caught the exact string "random", letting other weak secrets through, and replaced it with an in-memory key that was not persisted, invalidating all tokens on every restart and effectively causing a denial-of-service. This issue has been fixed in version 2026-05-18.