Safeguard
Vulnerability Analysis•

CVE-2025-48949: Critical SQL Injection in Navidrome

CVE-2025-48949 is a critical SQL injection in Navidrome 0.55.0 to 0.55.2 through the role parameter of /api/artist. Upgrade to 0.56.0 or later.

Safeguard Security Team
4 min read

CVE-2025-48949 is a critical SQL injection (CVSS 9.8) in Navidrome versions 0.55.0 through 0.55.2. The role parameter of the /api/artist endpoint is not validated properly. The fix is in version 0.56.0, so upgrade to that release or a later one.

What's affected

The CVE record and the project's GitHub advisory agree on the range: Navidrome 0.55.0 through 0.55.2. The advisory gives the patched version as 0.56.0. The affected component is the /api/artist API endpoint and its role parameter. The advisory says the database involved is SQLite.

The advisory describes the attacker as unauthenticated, and the CVSS vector in the record shows no privileges required. Treat any Navidrome server reachable from the internet as in scope if it runs a version in the range.

How to check if you're exposed

Find the version you run. In a container setup, look at the image tag:

docker ps | grep navidrome

For other installs, check the version shown in the web interface or the release you installed. If it is 0.55.0, 0.55.1 or 0.55.2, you are affected. Earlier releases are outside the range in the record.

Then check exposure. Is the server published through a reverse proxy to the open internet, or only on your home or office network? Look at your reverse proxy logs for requests to the artist API with unusual values in the role parameter:

grep "/api/artist" /var/log/nginx/access.log | grep "role=" | tail -n 100

Adjust the log path. Legitimate clients send a short set of role values, so anything long or containing punctuation stands out.

What to do now

  1. Upgrade Navidrome to 0.56.0 or later. For containers, pull the new image and recreate the container.
  2. Back up the Navidrome data folder, including the SQLite database, before the upgrade.
  3. If you cannot upgrade today, restrict access to the server with a VPN or an allow list at your reverse proxy.
  4. Review logs for odd requests to the artist API, and look for unexpected changes to users or playlists.
  5. If you suspect abuse, change user passwords and any API tokens, and restore from a backup taken before the suspicious activity.

Why it matters

The weakness is SQL injection, CWE-89. A value from the request ends up inside an SQL command without being neutralised, so the database treats part of the input as instructions. The advisory names the possible results as running arbitrary SQL commands, reading or changing data such as user records and playlists, and possibly disrupting the service.

A music server looks like a low stakes target, and often it is. It still stores user accounts and password hashes, and many people run these servers on a home network with a port forwarded to the internet, which is the exposure that matters. Self hosted tools tend to sit outside the patch routines used for company systems, so they stay old longer than they should.

This is not on the CISA Known Exploited Vulnerabilities list. A dependency scan of the container or the Go module will show the version in use, and the Gold directory entry for this CVE lists the affected range, which makes it quick to find forgotten instances.

Try it yourself

Click through it at your own pace, or open it full screen.

Quick check

Is Navidrome 0.55.3 or later safe from this CVE?

The record lists 0.55.0 through 0.55.2 as affected and names 0.56.0 as the patched version. Move to 0.56.0 or later rather than stopping at an in between release.

Does an attacker need an account?

The advisory describes the attacker as unauthenticated, and the CVSS vector shows no privileges required.

Sources

Last reviewed: 18 October 2026.

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.