PKP-WAL LESS代码注入漏洞解析:从参数污染到文件读取攻击

本文详细分析了PKP Web应用库(PKP-WAL)中存在的LESS代码注入漏洞(CVE-2025-67893)。该漏洞源于PKPTemplateManager::compileLess()方法对用户输入的baseColour参数未充分过滤,攻击者可利用此漏洞执行SSRF或本地文件读取攻击。

[KIS-2025-12] PKP-WAL <= 3.5.0-1 (baseColour) LESS代码注入漏洞

[-] 软件链接:

https://pkp.sfu.ca https://github.com/pkp/pkp-lib

[-] 受影响版本:

PKP Web应用程序库(简称PKP-WAL或pkp-lib)版本3.4.0-9及更早版本,以及版本3.5.0-1及更早版本。这些版本用于开放期刊系统(OJS)、开放专著出版社(OMP)和开放预印本系统(OPS)。

[-] 漏洞描述:

该漏洞存在于PKPTemplateManager::compileLess()方法中。该方法通过使用addLessVariables来调用Less_Parser::parse()方法。在更新“主题设置”时,addLessVariables可能被操纵。具体来说,通过.../api/v1/contexts/1/theme API端点传递的baseColour参数用户输入在添加到addLessVariables之前未经过适当清理。这可以被利用来执行LESS代码注入攻击,进而可能导致SSRF(服务器端请求伪造)或本地文件读取攻击。

成功利用此漏洞需要一个拥有访问.../api/v1/institutions API端点权限的账户,例如OJS上的“期刊编辑”或“制作编辑”用户账户。

[-] 解决方案:

升级到版本3.4.0-10、3.5.0-2或更高版本。

[-] 披露时间线:

[21/10/2025] - 通知供应商

[12/11/2025] - 请求CVE标识符 [20/11/2025] - 发布版本3.3.0-22 [22/11/2025] - 发布版本3.4.0-10 [12/12/2025] - 分配CVE标识符 [29/11/2025] - 发布版本3.5.0-2 [23/12/2025] - 发布本公告

[-] CVE参考:

通用漏洞披露计划(cve.org)已将此漏洞命名为CVE-2025-67893。

[-] 致谢:

漏洞由Egidio Romano发现。

[-] 原始公告:

http://karmainsecurity.com/KIS-2025-12

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计