CVE-2026-42605AzuraCast是一个自托管的全功能网络电台管理套件。在0.23.6版本之前,Flow.js媒体上传端点中的`currentDirectory`请求参数未经过滤路径遍历序列。结合本地文件系统存储后端(默认配置),具有媒体管理权限的经过身份验证的用户可以在电台媒体存储目录之外写入任意文件,通过将PHP webshell写入Web根目录来实现远程代码执行。该问题已在0.23.6版本中修复。
该漏洞源于AzuraCast在处理媒体文件上传时的安全疏忽。具体而言,在Flow.js集成的上传接口`/api/station/{station_id}/files/upload`中,`currentDirectory`参数用于指定相对路径,但后端未对`../`等路径遍历序列进行有效清洗。当系统使用默认的本地文件系统作为存储后端时,经过身份验证且具备媒体管理权限的攻击者,可利用此缺陷突破目录限制。攻击者通过构造恶意的HTTP POST请求,将包含恶意PHP代码的文件(如Webshell)写入应用程序的Web根目录或其它可执行位置。随后,攻击者只需向该文件发送HTTP请求,即可触发服务器端代码执行,获取系统最高权限,导致服务器完全被控。此漏洞利用门槛较低,危害极大。