SQL Injection Affecting github.com/navidrome/navidrome/persistence package, versions <0.53.0


Severity

Recommended
0.0
critical
0
10

CVSS assessment made by Snyk's Security Team

    Threat Intelligence

    Exploit Maturity
    Proof of concept
    EPSS
    0.05% (20th percentile)

Do your applications use this vulnerable package?

In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.

Test your applications
  • Snyk ID SNYK-GOLANG-GITHUBCOMNAVIDROMENAVIDROMEPERSISTENCE-8068537
  • published 22 Sep 2024
  • disclosed 20 Sep 2024
  • credit Louis Nyffenegger

How to fix?

Upgrade github.com/navidrome/navidrome/persistence to version 0.53.0 or higher.

Overview

Affected versions of this package are vulnerable to SQL Injection due to multiple uses of LIKE for matching inputs without escaping. A low-privileged user can brute force other users' passwords, perform operations on the underlying database, and bypass username input for authentication by passing in % in place of a username.

PoC

GET /api/album?_end=36&_order=DESC&_sort=recently_added&_start=0&SELECT+*+FROM+USER--=123 HTTP/1.1

CVSS Scores

version 4.0
version 3.1
Expand this section

Snyk

Recommended
9.4 critical
  • Attack Vector (AV)
    Network
  • Attack Complexity (AC)
    Low
  • Attack Requirements (AT)
    None
  • Privileges Required (PR)
    Low
  • User Interaction (UI)
    None
  • Confidentiality (VC)
    High
  • Integrity (VI)
    High
  • Availability (VA)
    High
  • Confidentiality (SC)
    High
  • Integrity (SI)
    High
  • Availability (SA)
    High