Description
AzuraCast before 0.23.8 contains a server-side request forgery and local file read vulnerability in the AutoDJ remote playlist fetch (backend/src/Radio/AutoDJ/QueueBuilder.php, getMediaFromRemoteUrl()). A user with the station Media permission can create or update a playlist with source=remote_url and remote_type=playlist whose remote_url points at a file:// path or an internal/loopback/link-local HTTP endpoint. When AutoDJ builds the queue, the backend passes the user-supplied URL directly to file_get_contents() with no scheme allowlist and no private/loopback/metadata IP policy (PHP allow_url_fopen is enabled by default, including in the Docker image). Lines from the fetched resource are parsed as M3U/PLS entries, stored in StationQueue.autodj_custom_uri, and returned by GET /api/station/{station_id}/queue to any user with the Broadcasting permission, disclosing host files readable by the web container (for example /etc/passwd or the application .env) and the bodies of non-blind internal HTTP requests. No patched version was available at the time of publication.
Published: 2026-09-27
Score: 4.8 Medium
EPSS: n/a
KEV: No
Impact: Local File Read via SSRF
Action: Apply Workaround
AI Analysis

Impact

AzuraCast versions before 0.23.8 allow a user with station Media permission to supply an arbitrary remote URL for a playlist. The backend then passes that URL directly to PHP's file_get_contents without validating the scheme or restricting access to local or internal networks. This enables Server‑Side Request Forgery that can read local files via file:// URLs or fetch data from loopback or link‑local HTTP endpoints. The retrieved data is parsed as playlist entries, stored in StationQueue.autodj_custom_uri, and returned to any user with Broadcasting permission, exposing sensitive host files such as /etc/passwd or application environment files. The vulnerability is a typical instance of CWE-918.

Affected Systems

All deployments of AzuraCast prior to version 0.23.8 are affected. The flaw resides in the AutoDJ remote playlist fetch located at backend/src/Radio/AutoDJ/QueueBuilder.php. It applies to installations that use the default Docker image configuration, where PHP allow_url_fopen is enabled and no internal URL restrictions are applied. Only users with station Media permission can create or edit remote playlists, while any user with Broadcasting permission can read the leaked data.

Risk and Exploitability

The CVSS v3 score of 4.8 signals moderate risk. No EPSS data is available, so current exploitation likelihood is unknown. The vulnerability was not listed in the CISA KEV catalog. The attack vector is user‑supplied input in the playlist; an attacker must have Media permissions to inject a malicious URL, and any Broadcasting user can retrieve the exposed content. Because the data returned is local to the host, the potential damage is limited but poses confidentiality risk for local files and internal services.

Generated by OpenCVE AI on September 27, 2026 at 04:06 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Revoke or limit Media permissions for users who do not need to modify playlists to reduce the attack surface.
  • Remove or disable any existing remote playlists that reference file:// paths or loopback HTTP endpoints, and review the contents of StationQueue.autodj_custom_uri for sensitive data.
  • Configure the PHP environment to disallow allow_url_fopen for the AutoDJ module or block the remote playlist endpoint, enforcing a whitelist of external URLs and preventing internal or file scheme access.

Generated by OpenCVE AI on September 27, 2026 at 04:06 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Sun, 27 Sep 2026 02:00:00 +0000

Type Values Removed Values Added
Description AzuraCast before 0.23.8 contains a server-side request forgery and local file read vulnerability in the AutoDJ remote playlist fetch (backend/src/Radio/AutoDJ/QueueBuilder.php, getMediaFromRemoteUrl()). A user with the station Media permission can create or update a playlist with source=remote_url and remote_type=playlist whose remote_url points at a file:// path or an internal/loopback/link-local HTTP endpoint. When AutoDJ builds the queue, the backend passes the user-supplied URL directly to file_get_contents() with no scheme allowlist and no private/loopback/metadata IP policy (PHP allow_url_fopen is enabled by default, including in the Docker image). Lines from the fetched resource are parsed as M3U/PLS entries, stored in StationQueue.autodj_custom_uri, and returned by GET /api/station/{station_id}/queue to any user with the Broadcasting permission, disclosing host files readable by the web container (for example /etc/passwd or the application .env) and the bodies of non-blind internal HTTP requests. No patched version was available at the time of publication.
Title AzuraCast before 0.23.8 SSRF and Local File Read via Remote Playlist
First Time appeared Azuracast
Azuracast azuracast
Weaknesses CWE-918
CPEs cpe:2.3:a:azuracast:azuracast:*:*:*:*:*:*:*:*
Vendors & Products Azuracast
Azuracast azuracast
References
Metrics cvssV3_1

{'score': 7.7, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N'}

cvssV4_0

{'score': 4.8, 'vector': 'CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:N/VI:L/VA:N/SC:L/SI:L/SA:L'}


Subscriptions

Azuracast Azuracast
cve-icon MITRE

Status: PUBLISHED

Assigner: VulnCheck

Published:

Updated: 2026-09-27T01:28:43.673Z

Reserved: 2026-09-27T00:18:40.972Z

Link: CVE-2026-100850

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-09-27T02:17:24.007

Modified: 2026-09-27T02:17:24.007

Link: CVE-2026-100850

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-09-27T05:30:17Z

Weaknesses
  • CWE-918

    Server-Side Request Forgery (SSRF)