CVE-2025-64325Emby Server是一款个人媒体服务器软件,允许用户通过Web界面管理和流式传输媒体内容。该漏洞存在于Emby Server 4.8.1.0之前版本以及4.9.0.0-beta之前的Beta版本中。漏洞的根本原因在于系统对用户提交的X-Emby-Client HTTP头值缺乏充分的输入验证和输出消毒。当恶意用户发送包含恶意脚本代码的认证请求时,这些未经处理的数据会被直接存储到管理仪表板的设备部分。攻击者利用此漏洞可以在管理员访问设备管理界面时执行任意JavaScript代码,从而窃取管理员会话cookie、进行横向移动或执行其他恶意操作。由于该漏洞需要低权限认证且用户交互要求较低,攻击门槛相对较低,具有极高的实际威胁性。
漏洞源于Emby Server在处理认证请求时对X-Emby-Client HTTP头的处理逻辑。当用户发起认证请求时,服务器端会将X-Emby-Client头的值提取出来并存储到数据库的devices表中。问题在于该值在存储前未经过任何HTML转义或输入验证处理,直接写入数据库。当管理员登录管理后台并浏览设备列表页面时,这些未消毒的数据会通过模板引擎直接渲染到HTML页面中,导致存储型XSS漏洞。攻击者可以通过发送精心构造的认证请求,在X-Emby-Client头中注入<script>标签或其他HTML/JS代码。由于这些数据被持久化存储在数据库中,每次管理员访问相关页面时都会触发恶意代码执行,形成持久的攻击向量。修复版本4.8.1.0和4.9.0.0-beta中已添加对X-Emby-Client值的HTML编码处理。