Skip to main content

Black Candy CVE-2026-97061

| EUVDEUVD-2026-85886 MEDIUM
Missing Authorization (CWE-862)
2026-09-24 VulnCheck GHSA-8g7p-g3x7-hm9p
5.3
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate to Black Candy instance
  2. Exploit
    Send search request with blank/targeted term
  3. Execution
    Server omits per-user playlist scoping
  4. Impact
    Enumerate all users' playlist names

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization checks on every request
MITRE ATT&CK

1 technique across 1 tactic: Privilege Escalation

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Requires a valid authenticated account on the target Black Candy instance (PR:L) and network reachability to the web application; no user interaction is needed. Exploitation works against default configurations by querying the SearchController or Search::PlaylistsController endpoints with blank or targeted search parameters, since playlist search is not scoped to the session user. The limiting factor is that the attacker must first be an authenticated user and the disclosure is confined to other users' playlist names - no content, credentials, integrity, or availability impact.

Impact

This is a low-to-moderate severity information-disclosure issue, not a high-priority emergency. The vendor CVSS 4.0 vector (AV:N/AC:L/PR:L/UI:N/VC:L, no integrity or availability impact) correctly frames it as a read-only authorization gap: any already-authenticated user of the instance can enumerate other users' playlist names. There is no CISA KEV listing, no EPSS score supplied, and no public exploit code referenced - so the exploitation status is 'no public exploit identified at time of analysis.' The PR:L requirement (a valid account on the instance) and the limited confidentiality impact (playlist names only - CWE-862 missing authorization, not credential or content theft) keep real-world risk low. The signals are internally consistent; the only friction is the 'Authentication Bypass' tag, which overstates the flaw - this is a horizontal authorization/IDOR-style leak by an authenticated user, not a bypass of authentication itself. Verify the PR:L assumption against the deployment (Black Candy supports self-registration in some setups, which would lower the practical barrier).

Exploit ScenarioDerived

An attacker who registers or already holds a low-privilege account on a self-hosted Black Candy instance sends requests to the SearchController or Search::PlaylistsController with blank or targeted search terms. Because the query is not scoped to the session user, the response returns playlist names belonging to every other user on the instance. No public exploit code is referenced, but the attack is a trivial authenticated HTTP request requiring no special tooling.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
No patch listed yet 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Sep 24, 2026

Playlist enumeration in Black Candy through 3.2.1 allows any authenticated user to retrieve the names of every playlist hosted on the instance, including those belonging to other accounts. The playlist search code paths (SearchController and Search::PlaylistsController) do not scope results to the session user, so blank or targeted query parameters return cross-user playlist names; exploitation requires a valid account (CVSS 4.0 PR:L, independently assessed CVSS 3.1 5.3 with C:L/I:N/A:N) and network reachability to the web interface. Exposure is confined to playlist names - no playlist content, credentials, integrity, or availability impact - and no public exploit has been identified at time of analysis.

RemediationAI

No vendor-released patch has been identified at time of analysis; affected deployments should monitor the upstream repository (https://github.com/blackcandy-org/blackcandy) and issue https://github.com/blackcandy-org/blackcandy/issues/463, and upgrade to the first release that scopes playlist search to the session user as soon as it is published - versions through 3.2.1 must be treated as vulnerable until that fix is confirmed. If upgrading immediately is not possible, the most direct compensating control is to restrict who can hold an account on the instance, since exploitation requires an authenticated session: disable open self-registration and remove or disable dormant accounts, accepting the operational cost that legitimate new users must be provisioned manually. Network exposure can also be reduced by placing the instance behind an authenticating reverse proxy, VPN, or IP allow-list so only trusted clients reach the search endpoints, at the cost of breaking public or mobile access. Administrators able to maintain a local fork can backport the authorization fix directly into app/models/concerns/searchable_concern.rb so that playlist searches are constrained to current_user's records, or temporarily disable the playlist search routes in config/routes.rb; both approaches require ongoing patch maintenance against upstream changes and may break the in-app search feature for legitimate users.

Affected VersionsENISA

Black Candy 0 ≤3.2.1

Affected Packages

euvd black_candy no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Black Candy is a self-hosted Ruby on Rails music streaming server, identified by the CPE cpe:2.3:a:blackcandy-org:black_candy:*:*:*:*:*:*:*:* covering all releases through 3.2.1. The root cause is CWE-862 (Missing Authorization): the shared search implementation in app/models/concerns/searchable_concern.rb (line 21) builds playlist search queries without filtering on the currently authenticated user, and the controllers app/controllers/search_controller.rb (line 9) and app/controllers/search/playlists_controller.rb (line 5) expose that unscoped query directly to any logged-in session. Because the query is not joined or constrained against the playlist owner, calling the search endpoints with an empty or crafted term returns a cross-tenant result set of playlist names. This is a horizontal authorization-scoping defect rather than an authentication bypass; the CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N/VC:L) and the independent CVSS 3.1 assessment (AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N) both reflect a low-confidentiality disclosure reachable over the network by an authenticated principal with no user interaction required.

Know when Black Candy gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (VulnCheck) PRIMARY 5.3 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N
vuln.today AI 4.3 MEDIUM

Authenticated low-privilege user (PR:L) sends a simple remote request (AV:N/AC:L) leaking only playlist names, so C:L with no integrity or availability impact.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
Low
User Interaction
None
Vulnerable system: Confidentiality
Low
Vulnerable system: Integrity
None
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

Black Candy through 3.2.1 fails to scope playlist search queries to the authenticated session user, allowing any authenticated user to enumerate all playlists on the instance. Attackers can query the SearchController or Search::PlaylistsController endpoints with blank or targeted search parameters to retrieve playlist names belonging to other users without authorization.

Threat Intelligence Overview

EPSS Score
0.2%
Top 89% exploitable
Prevalence
Low
niche self-hosted open-source music streaming server, limited production footprint
Data Quality
5 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.2%
Patch available No
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact· derived
Medium

Priority Score

26
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +26
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy