CVE-2025-24893 - 通过SolrSearch宏在XWiki中实现未授权远程代码执行
概述
CVE-2025-24893是XWiki(一个流行的开源企业Wiki平台)中的一个严重未授权远程代码执行(RCE)漏洞。该漏洞存在于SolrSearch宏处理搜索查询中的Groovy表达式时的不当方式,允许未经身份验证的攻击者远程执行任意Groovy代码,无需任何身份验证或事先访问权限。
CVE ID: CVE-2025-24893
严重等级: 严重
CVSS评分: 9.8 (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H)
EPSS评分: 92.01%(利用可能性非常高)
发布日期: 2025年2月20日
受影响版本: 15.10.11、16.4.1和16.5.0RC1之前的所有版本
已修复版本: 15.10.11、16.4.1、16.5.0RC1
技术分析
XWiki包含一个名为SolrSearch的宏(定义在Main.SolrSearchMacros中),通过嵌入式Solr引擎实现全文搜索。该漏洞源于该宏评估Groovy中的搜索参数时的方式,未能清理或限制恶意输入。
攻击者可以通过GET请求将Groovy表达式注入搜索查询,导致系统在XWiki服务器进程的上下文中评估任意代码。
示例易受攻击的端点:
|
|
如果Groovy表达式包含系统级命令(如创建文件或启动进程),这将导致直接RCE。
利用条件
- 无需身份验证(来宾访问足够)
- 公开暴露的XWiki实例
- 使用受影响版本
- SolrSearch宏可用
易受攻击的代码上下文
根本原因是在SolrSearch宏中不安全地评估Groovy内容:
|
|
利用步骤
- 构造Groovy代码注入 构建一个将系统命令嵌入搜索参数的有效负载。
- 向宏发送GET请求
1
curl "http://<target>/xwiki/bin/view/Main/SolrSearchMacros?search=groovy:java.lang.Runtime.getRuntime().exec('touch /tmp/pwned')"
- 实现RCE 注入的代码被执行,攻击者获得XWiki服务器上的系统级访问权限。
利用与PoC
目前,尚无此CVE的官方Metasploit模块,但GitHub上存在一个可用的PoC:📎 https://github.com/a1baradi/Exploit/blob/main/CVE-2025-24893.py
缓解措施
-
立即升级:
- 15.x用户:升级到15.10.11
- 16.4.x用户:升级到16.4.1
- 其他用户:使用16.5.0RC1或更新版本
-
限制来宾访问:尽可能禁用应用程序的匿名来宾访问。
-
使用Web应用程序防火墙(WAF):实施过滤以阻止恶意查询参数。
-
监控日志:在SolrSearch端点访问日志中查找异常的Groovy表达式。
参考
- GitHub Advisory GHSA-rr6p-3pfg-562j
- NVD Entry – CVE-2025-24893
- Ionix Blog Analysis
- PoC Exploit Script
点击下方访问我们学习库中的CVE-2025-24893实验室。CVE实验室可通过Learn Enterprise账户使用。
[访问此实验室]