Executive brief
AzuraCast is a web-based radio management platform used to host and manage radio stations. A security flaw in the media upload system allows users with basic media management permissions (such as DJs or station managers) to bypass security restrictions and write files to unauthorized locations on the server. By uploading a malicious script, an attacker can take full control of the server, access sensitive listener data, or disrupt radio operations.
Technical details
A path traversal vulnerability exists in the Flow.js media upload endpoint (POST /api/station/{station_id}/files/upload) due to insufficient sanitization of the 'currentDirectory' parameter. While filenames are filtered, the 'currentDirectory' input is prepended to the path without validation. Furthermore, a 'finally' block in the MediaProcessor component ensures files are written to the filesystem even if they fail MIME-type validation (e.g., PHP files). When using the default local filesystem storage, the application uses simple string concatenation that bypasses standard path normalization, allowing an authenticated user with 'Media' permissions to write a PHP webshell into the web root. This results in Remote Code Execution (RCE) as the application user. The issue is fixed in version 0.23.6.
Affected products
- AzuraCast AzuraCast < 0.23.6
Timeline
- 2026-04-23: advisory: GitHub Security Advisory published
- 2026-04-24: patched: Version 0.23.6 released
- 2026-05-09: disclosed: CVE-2026-42605 published