Advisories for Golang/Github.com/Navidrome/Navidrome package

2024

Navidrome Stores JWT Secret in Plaintext in navidrome.db

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 …

Navidrome has Multiple SQL Injections and ORM Leak

Navidrome automatically adds parameters in the URL to SQL queries. This can be exploited to access information by adding parameters like password=… in the URL (ORM Leak). Furthermore, the names of the parameters are not properly escaped, leading to SQL Injections. Finally, the username is used in a LIKE statement, allowing people to log in with % instead of their username.

Navidrome has Multiple SQL Injections and ORM Leak

Navidrome automatically adds parameters in the URL to SQL queries. This can be exploited to access information by adding parameters like password=… in the URL (ORM Leak). Furthermore, the names of the parameters are not properly escaped, leading to SQL Injections. Finally, the username is used in a LIKE statement, allowing people to log in with % instead of their username.

2023

Authentication bypass vulnerability in navidrome's subsonic endpoint

Summary A security vulnerability has been identified in navidrome's subsonic endpoint, allowing for authentication bypass. This exploit enables unauthorized access to any known account by utilizing a JSON Web Token (JWT) signed with the key "not so secret". The vulnerability can only be exploited on instances that have never been restarted. Details Navidrome supports an extension to the subsonic authentication scheme, where a JWT can be provided using a jwt …

2022