GHSA-xwx7-p63r-2rj8
Navidrome Stores JWT Secret in Plaintext in navidrome.db
Packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| Go | github.com/navidrome/navidrome | < 0.54.1 | 0.54.1 |
Details
As written in the advisory (Markdown source, shown as plain text).
Navidrome stores the JWT secret in plaintext in the `navidrome.db` database file under the `property` table. This practice introduces a security risk because anyone with access to the database file can retrieve the secret.
The JWT secret is critical for the authentication and authorization system. If exposed, an attacker could:
- Forge valid tokens to impersonate users, including administrative accounts.
- Gain unauthorized access to sensitive data or perform privileged actions.
This vulnerability has been tested on the latest version of Navidrome and poses a significant risk in environments where the database file is not adequately secured.

References
External links from the advisory. They lead to third-party sites.
- https://github.com/navidrome/navidrome/security/advisories/GHSA-xwx7-p63r-2rj8
- https://nvd.nist.gov/vuln/detail/CVE-2024-56362
- https://github.com/navidrome/navidrome/commit/7f030b0859653593fd2ac0df69f4a313f9caf9ff
- https://github.com/navidrome/navidrome/commit/9cbdb20a318a49daf95888b1fd207d4d729b55f1
- https://github.com/navidrome/navidrome
- https://github.com/navidrome/navidrome/releases/tag/v0.54.1
- https://pkg.go.dev/vuln/GO-2024-3357