CVE-2025-65858CVE-2025-65858是Calibre-Web v0.6.25版本中存在的一个存储型跨站脚本(XSS)漏洞。该漏洞允许具有高权限的攻击者在创建用户时,通过'username'字段注入恶意JavaScript代码。由于系统未对用户输入进行充分的过滤和转义,恶意载荷会被永久存储在数据库中。当其他管理员或用户访问/ajax/listusers端点时,存储的恶意脚本会在其浏览器上下文中执行,可能导致会话劫持、敏感信息窃取或进一步的攻击。Calibre-Web是一个基于Web的电子书管理应用程序,广泛用于个人和组织的数字图书馆管理。该漏洞的CVSS评分为3.5,属于低危级别,但仍建议及时修复以防止潜在的安全风险。
该漏洞根源在于Calibre-Web应用程序在处理用户输入时缺乏适当的输入验证和输出编码。具体来说:1) 在用户创建功能中,系统直接接受username参数而未进行严格的输入过滤;2) 存储层未对特殊字符进行转义处理,导致恶意HTML/JavaScript代码被直接存入数据库;3) 在/ajax/listusers端点响应时,系统直接将存储的用户名数据返回给客户端而未进行HTML编码。攻击者可以利用此漏洞注入<script>标签或事件处理器属性(如onerror、onload等)来执行任意JavaScript代码。由于是存储型XSS,恶意代码会在所有访问该端点的用户浏览器中执行,影响范围较广。