Miggo Logo

CVE-2024-56362:
Navidrome Stores JWT Secret in Plaintext in navidrome.db

7.1

CVSS Score
3.1

Basic Information

EPSS Score
0.02237%
Published
12/23/2024
Updated
1/15/2025
KEV Status
No
Technology
TechnologyGo

Technical Details

CVSS Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N
Package NameEcosystemVulnerable VersionsFirst Patched Version
github.com/navidrome/navidromego<= 0.53.30.54.1

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability stems from cleartext storage of the JWT secret. The createJWTSecret function in server/initial_setup.go was directly responsible for writing the secret to the database in plaintext during initial setup. The auth.Init function in core/auth/auth.go perpetuated the risk by using the plaintext secret without encryption/decryption mechanisms. The commit diff shows these functions were modified/removed in the patch (replaced with encrypted storage/retrieval), confirming their role in the vulnerability.

Vulnerable functions

Only Mi**o us*rs **n s** t*is s**tion

WAF Protection Rules

WAF Rule

N*vi*rom* stor*s t** JWT s**r*t in pl*int*xt in t** `n*vi*rom*.**` **t***s* *il* un**r t** `prop*rty` t**l*. T*is pr**ti** intro*u**s * s**urity risk ****us* *nyon* wit* ****ss to t** **t***s* *il* **n r*tri*v* t** s**r*t. T** JWT s**r*t is *riti**l

Reasoning

T** vuln*r**ility st*ms *rom *l**rt*xt stor*** o* t** JWT s**r*t. T** `*r**t*JWTS**r*t` *un*tion in `s*rv*r/initi*l_s*tup.*o` w*s *ir**tly r*sponsi*l* *or writin* t** s**r*t to t** **t***s* in pl*int*xt *urin* initi*l s*tup. T** `*ut*.Init` *un*tion