Summary
CVE-2026-100853 is a missing-authorization (CWE-862) vulnerability in AzuraCast, an open-source self-hosted internet radio management platform. The public On-Demand download endpoint fails to verify playlist-level access restrictions, allowing an unauthenticated attacker to download station media files that operators intentionally excluded from On-Demand playback. The issue affects all AzuraCast versions prior to 0.23.8 and is fixed in that release.
Technical details
- Root cause: The endpoint
GET /api/station/{station_id}/ondemand/download/{media_id}only checks that the requested media belongs to the station; unlike the public On-Demand list endpoint, it does not check whether the media is assigned to a playlist withinclude_in_on_demand = 1. - Trigger conditions: The targeted station must have On-Demand streaming enabled, and the attacker must know or discover the
unique_idof a media item belonging to that station (including media assigned only to playlists that are not On-Demand-enabled). - Attack vector: Network, unauthenticated — a direct HTTP request to the download endpoint with a valid station ID and media
unique_idis sufficient. No prior privileges or user interaction are required. - Impact: Confidentiality impact only — attackers can retrieve private, licensed, unreleased, or otherwise restricted audio files that station operators did not intend to make publicly downloadable. There is no impact to integrity or availability.
Affected software
- AzuraCast — all versions prior to 0.23.8
Severity
- CVSS v3.1 Base Score: 5.9 (Medium) —
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N - CVSS v4.0 Base Score: 8.2 (High) —
CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
Mitigation and recommended actions
- Immediate: Upgrade AzuraCast to version 0.23.8 or later, which enforces the
include_in_on_demandplaylist check on the download endpoint. - If no patch can be applied immediately: Disable On-Demand streaming on stations that host media not intended for public download, and audit access logs for direct requests to the
/api/station/{station_id}/ondemand/download/{media_id}endpoint referencing media not present in enabled On-Demand playlists.

