CVE-2025-61488CVE-2025-61488 是 Senayan Library Management System(SLiMS)9 Bulian v9.6.1 版本中存在的一个高危安全漏洞。该漏洞位于系统的 scrap_image.php 组件中,攻击者可以通过精心构造的 imageURL 参数实现远程代码执行(RCE)。SLiMS 是一款广泛应用于图书馆和学术机构的开源图书馆管理系统,9 Bulian 是其最新的主要版本,因此该漏洞影响范围较广。
根据 CVSS 3.1 评分体系,该漏洞评分为 7.6 分,属于高危级别。漏洞的攻击向量为网络(AV:N),攻击复杂度低(AC:L),但需要高权限(PR:H)才能利用,意味着攻击者需要先获取系统的合法管理员或高权限账户。用户交互方面无需受害者配合(UI:N)。一旦成功利用,漏洞将导致高机密性影响(C:H),攻击者可以读取系统敏感数据;完整性影响为低(I:L),可用性影响为无(A:N)。
该漏洞的危害主要体现在:攻击者可以在服务器端执行任意代码,从而完全控制受影响的服务器,窃取图书馆的用户数据、图书信息、借阅记录等敏感信息,甚至将服务器作为跳板进行内网渗透。考虑到 SLiMS 通常部署在教育机构和图书馆环境中,这些机构往往存储了大量用户的个人信息,因此该漏洞的潜在影响不容忽视。
该漏洞的核心位于 SLiMS 9 Bulian v9.6.1 的 scrap_image.php 组件中。scrap_image.php 是 SLiMS 系统中用于抓取图书封面图片的功能模块,其设计初衷是从外部 URL 下载图书封面图片并保存到本地服务器。
漏洞的根本原因在于 scrap_image.php 对 imageURL 参数的处理缺乏充分的安全验证和过滤。具体而言:
1. **未充分验证 URL 协议**:imageURL 参数允许攻击者指定任意协议(如 file://、php://、data:// 等),而不仅限于 HTTP/HTTPS 协议。攻击者可以利用 file:// 协议读取服务器本地文件,或利用其他协议执行恶意操作。
2. **缺乏输入过滤**:系统未对 imageURL 参数中的特殊字符、路径遍历序列或恶意 Payload 进行过滤和转义,导致攻击者可以注入额外的命令或代码。
3. **服务端命令执行**:当 scrap_image.php 处理 imageURL 参数时,可能调用了系统命令(如 curl、wget 等)来下载图片,但未对参数进行安全转义,导致命令注入漏洞的产生。
4. **权限要求**:漏洞利用需要高权限(PR:H),这意味着攻击者需要先获取系统的管理员账户或具有相应权限的账户。这可能通过暴力破解、社会工程学或利用其他漏洞获取。
利用方式:攻击者在获取高权限账户后,向 scrap_image.php 发送包含恶意 imageURL 参数的请求,例如使用 file:// 协议读取敏感文件,或注入系统命令执行任意代码。