Airsonic Advanced Playlist漏洞CVE-2025-10669
Airsonic-Advanced是一个基于 Airsonic 的现代化实现,它在性能和功能上进行了多项关键改进,是一个强大和高效的音乐流媒体解决方案。
Airsonic 本身是一个免费的、基于 Web 的媒体流媒体服务器,允许用户随时随地访问自己的音乐库,从而满足你对音乐流媒体服务的需求。
一、基本情况
Airsonic 支持同时向多个播放器流式传输音乐,例如在厨房和客厅同时播放,无论分享音乐还是享受音乐,Airsonic 都可以满足用户的需求。
Airsonic-Advanced 在 Airsonic 的基础上进行了多项增强,包括更现代的基础框架和库、增强的安全性、更高的合规性、显著的性能提升等。
栋科技漏洞库关注到在Airsonic-Advanced版本至10.6.0中发现了一个漏洞,该漏洞现在已被追踪为CVE-2025-10669,CVSS 4.0评分为5.3。
二、漏洞分析
CVE-2025-10669漏洞是Airsonic-Advanced版本至10.6.0中存在的一个安全漏洞,该漏洞影响了组件Playlist Upload Handler中的未知代码。
Airsonic Advanced允许过身份验证用户利用“Upload playlist'”功能,通过滥用“Upload to”输入,将攻击者控制的文件写入预期存储目录之外。
通过提供路径遍历值,例如../webapps,攻击者可以将.war文件上传到Tomcat的webapps目录中。
Tomcat将自动部署存档,这将在应用程序服务器帐户下产生任意代码执行,这会导致应用程序和主机的完全妥协。
此问题将目标路径的服务器端验证不足与播放列表上传缺乏文件类型限制相结合。当启用Tomcat自动部署时,影响会升级到RCE。
漏洞产生的根本原因是缺少对允许的上传根的规范化和强制执行,再加上文件类型和位置控制不足。
该漏洞将内容上传桥接到可执行部署路径中,在Tomcat默认设置下,.war文件会自动执行,将文件写入转换为RCE。
1、受影响的组件:
Web UI:“Upload playlist”功能;
服务器:上传播放列表的文件处理和路径解析
应用服务器:.war文件的Tomcat自动部署行为
该漏洞可能导致经过身份验证的用户可在托管Airsonic Advanced的服务器上实现远程代码执行,该漏洞的利用方法现已公开且可能被使用。
2、成功利用许可证:
以应用程序服务器用户的权限执行任意代码
访问应用程序机密和媒体库
环境中的横向移动取决于宿主硬化
破坏或服务中断
3、前置条件
攻击者拥有有效的用户帐户,或者上传端点可以以低权限访问
Tomcat被配置为自动部署放置在webapps中的应用程序(许多安装中的默认设置)
没有反向代理或服务器端验证可以阻止像这样的遍历序列 ../
4、技术细节
“Upload playlist”功能通过“上传到”字段接受用户提供的目标路径。
服务器不会将此路径规范化并约束到允许的基目录。
服务器接受危险类型的上传,包括.war。
当目标解析为Tomcat的webapps时,服务器会在部署的应用程序旁边写入上传的.war。
Tomcat检测到新的存档并将其部署,从而使攻击者能够控制代码执行。
三、POC概念验证
1、以标准用户身份进行身份验证。
2、导航到“Upload playlist”。
3、将“Upload to”设置为解析到Tomcat部署目录的父目录遍历(例如,解析为../webapps的值)。
4、使用无害的JSP上传应用程序存档,该JSP会打印时间戳以确认执行。
5、浏览到部署的上下文路径并观察服务器端的执行情况。
注意:不要发布shell有效负载或敏感的服务器响应,使用良性文件进行验证。
6、示例如下
上传表单,将“上传到”字段设置为父目录遍历,“上传到”值在预期路径之外解析。
成功上传确认,表示写入应用程序数据目录外,服务器接受上传的存档并将其存储在解析的位置。
通过Tomcat访问部署的上下文,确认服务器端执行
访问新上下文演示代码执行。
四、影响范围
Airsonic-Advanced <= 10.6.0
五、修复建议
Airsonic-Advanced > 10.6.0
六、解决建议
