Skip to main content
Live Webinar with SANS (June 25)— Agentic CTI Automation for Fun & ProfitRegister Free
Mallory
CriticalCISA KEVExploited in the wildPublic exploit

CrushFTP AS2 Validation Admin Access Bypass

IdentifiersCVE-2025-54309CWE-420· Unprotected Alternate Channel

CVE-2025-54309 is a critical vulnerability in CrushFTP affecting version 10 before 10.8.5 and version 11 before 11.3.4_23 when the DMZ proxy feature is not used. The flaw is described as mishandling of AS2 validation over HTTP(S), resulting in an unprotected alternate channel that can allow a remote, unauthenticated attacker to obtain administrative access via HTTPS. Supporting reporting indicates the vulnerable code path improperly validates AS2 message integrity and multipart content, allowing crafted AS2 requests with manipulated headers and payloads to be accepted as trusted and to reach privileged functionality such as the admin API endpoint /WebInterface/function/. The issue was reported as actively exploited in the wild in July 2025.

Share:
For your environment

Are you exposed to this one?

Mallory correlates every CVE against your assets, your vendors, and active adversary campaigns. Know which vulnerabilities matter for you, not just which ones are loud.

ANALYST BRIEF

Impact, mitigation & remediation

What it means. What to do now. Patch path, mitigations, and the assume-compromise checklist.

Impact

What an attacker gets, and what they’ve been doing with it.

Successful exploitation gives a remote attacker administrative control of the CrushFTP instance. Reporting further indicates this level of access can expose administrative API functionality and may enable full server takeover, including execution of commands on the underlying operating system, unauthorized access to transferred or stored files, creation or modification of privileged users, data exfiltration, and potential lateral movement from the compromised file transfer server into the broader enterprise environment.

Mitigation

If you can’t patch tonight, do this now.

If immediate patching is not possible, enable and use the CrushFTP DMZ proxy feature, which the vendor states prevents this attack path. Additional hardening measures mentioned in the reporting include restricting or allowlisting source IPs permitted to administer or connect to the server, increasing monitoring around admin actions and file-transfer activity, and reviewing logs for suspicious requests to administrative endpoints. These measures reduce exposure but are not substitutes for upgrading to a fixed version.

Remediation

Patch, then assume compromise.

Upgrade CrushFTP to a fixed release: version 10.8.5 or later for the 10.x branch, or version 11.3.4_23 or later for the 11.x branch. Vendor and third-party reporting also reference later safe builds in the 11.x line. After patching, validate the installation integrity using CrushFTP's hash-validation capability, because compromised systems may have been modified to misreport version information in the web interface. Review indicators of compromise including unexpected admin-capable users, modifications to MainUsers/default/user.xml, suspicious last_logins values for the default account, and anomalous upload/download activity. If compromise is suspected, restore affected user configuration from known-good backups and perform full incident response; patching alone does not remediate prior compromise.
PUBLIC EXPLOITS

Exploits

7 valid exploits after Mallory filtered fakes, detection scripts, and README-only repos.

VALID 7 / 7 TOTALView more in app
CVE-2025-54309MaturityPoCVerified exploit

Repository contains a single Python PoC exploit script plus a minimal README. Structure: - README.md: only states the CVE identifier. - watchTowr-vs-CrushFTP-CVE-2025-54309.py: a multi-action exploit/PoC for CVE-2025-54309 targeting CrushFTP’s WebInterface admin function endpoint. Purpose and operation: - Implements a network-based authentication bypass via a race-condition approach. The script repeatedly sends large volumes of POST requests to /WebInterface/function/ while rotating a short c2f token and associated CrushAuth/currentAuth cookies. - Uses two request variants (with and without the AS2-TO header and a special content-type) to increase the chance of hitting the vulnerable timing window. Exploit capabilities (actions): - list-users (default): calls getUserList for serverGroup MainUsers. - get-settings: retrieves server_settings via getServerItem. - get-info: retrieves server_info via getServerItem. - get-logs: calls getLog and saves output locally to crushftp_logs.xml. - get-file: arbitrary file read via getFile with user-controlled path. - add-user: persistence/privilege escalation by creating a new admin user via setUserItem, sending an XML user definition with user_admin=true and broad permissions. Notable targeting/fingerprints: - Hardcoded endpoint path /WebInterface/function/. - Distinctive headers: AS2-TO: \crushadmin, Content-Type: disposition-notification, X-Requested-With: XMLHttpRequest, and User-Agent python-requests/2.32.3. - Cookie format includes CrushAuth=... and currentAuth=<c2f> with a randomly generated 4-character c2f value. Overall, this is an operational PoC exploit (not just detection) that can exfiltrate sensitive data and create an administrative account if the target is vulnerable and the race condition is successfully triggered.

0xLittleSpidyDisclosed Jan 27, 2026pythonnetwork
CrushFTP-AS2-Bypass-Research-CVE-2025-54309MaturityPoCVerified exploit

This repository provides a comprehensive operational exploit for a critical authentication bypass vulnerability (CVE-2025-54309) in CrushFTP Server's AS2 authentication module. The exploit leverages improper trust in specific HTTP headers (notably 'X-DMZ-Proxy: disabled' and 'X-AS2-Version: 1.0') to bypass authentication and gain full administrative access. The repository is well-structured, containing: - Three main Bash exploit scripts in the 'exploits/' directory: - 'enhanced_session_exploit.sh': Automates the full attack chain, including session cookie generation and authenticated admin access. - 'targeted_exploitation.sh': Focuses on testing and exploiting high-value admin endpoints. - 'adaptive_exploitation.sh': Tests multiple header and session strategies for bypass reliability. - Detection resources in the 'detection/' directory: - IDS/IPS rules for Snort and Suricata - A log analysis script for identifying exploitation attempts in server logs - Detailed documentation in 'README.md' and 'docs/TECHNICAL_ANALYSIS.md', including technical root cause, attack methodology, session management analysis, and mitigation guidance. The exploit scripts use curl to send crafted HTTP requests with the vulnerable AS2 headers, extract session cookies using a discovered mathematical relationship, and access a range of administrative endpoints. The attack vector is network-based, requiring only HTTP/S access to the CrushFTP web interface. The exploit is operational and provides reliable, repeatable administrative compromise, including RCE via the telnet interface. The repository also includes robust detection and defense resources for blue teams.

Smileyface101Disclosed Dec 6, 2025bashnetwork
CVE-2025-54309MaturityPoCVerified exploit

This repository provides a fully functional exploit for CVE-2025-54309, a critical authentication bypass vulnerability in CrushFTP versions 10.x before 10.8.5 and 11.x before 11.3.4_23. The exploit leverages a flaw in the AS2 header validation logic, allowing an attacker to bypass authentication by sending a POST request to the /WebInterface/function/ endpoint with an empty or improperly formatted AS2-To header. The included Python script (cve_2025_54309.py) automates the attack: it checks if the target is running CrushFTP, crafts a malicious request to create a new administrative user, and optionally verifies that the new user can log in. The payload is an XML user object granting full administrative privileges. The repository also contains detailed technical documentation (TECHNICAL.md) and usage instructions (README.md). The exploit is operational and can be used to gain full control over vulnerable CrushFTP instances.

brokendreamsclubDisclosed Aug 29, 2025pythonnetwork
CrushFTP_CVE-2025-54309MaturityPoCVerified exploit

This repository contains a Python proof-of-concept exploit for CVE-2025-54309, a race condition authentication bypass in CrushFTP. The exploit targets CrushFTP versions prior to 10.8.5 and 11.3.4_34. The main file, 'crushedftp.py', is a standalone script that automates the attack by sending a large number of crafted request pairs to the vulnerable '/WebInterface/function/' endpoint of a target CrushFTP server. The exploit leverages a race condition to create a new admin user with attacker-specified credentials, effectively granting administrative access to the server. The script is configurable via command-line arguments for the target URL, username, password, number of requests, and payload type. The README provides usage instructions and example output. No detection or scanning functionality is present; the script is a direct exploit. The only fingerprintable endpoint is the '/WebInterface/function/' path on the target server.

chin-techDisclosed Sep 13, 2025pythonnetwork
CVE-2025-54309MaturityPoCVerified exploit

This repository provides a full exploit chain for CVE-2025-54309, targeting CrushFTP server versions 10.x and 11.x. The main exploit script (CVE-2025-54309.py) is a Python tool that supports three modes: creating a new admin user, uploading a malicious Java plugin (CrushCommandPlugin.jar), and executing arbitrary system commands on the target server. The exploit leverages HTTP(S) requests to the CrushFTP WebInterface endpoints, using crafted headers and cookies to bypass authentication and escalate privileges. The included Java plugin (Plugin/CrushCommandPlugin/Start.java) is designed to be uploaded to the server and, when triggered, executes arbitrary system commands via the server's plugin interface. The repository also contains a Bash script for compiling the plugin and a Python script (docker_get_crushftp_version.py) for automating the setup and version detection of CrushFTP Docker containers, useful for testing the exploit against multiple versions. The exploit is operational and provides attackers with full remote code execution capabilities on vulnerable CrushFTP instances.

foregenixDisclosed Sep 3, 2025pythonjavanetwork
CVE-2025-54309__Enhanced_exploitMaturityPoCVerified exploit

This repository contains an operational exploit for CVE-2025-54309, targeting CrushFTP versions 10 before 10.8.5 and 11 before 11.3.4_23. The exploit leverages a race condition in the authentication mechanism to create a new administrative user on the target system. The main script, 'exploit.py', is a Python 3 tool that uses high-concurrency threading to maximize the chance of exploiting the timing window. It generates and sends crafted XML payloads to the /WebInterface/function/ endpoint, using custom cookies and headers to mimic legitimate admin actions. The script allows customization of the username and password for the new admin user and can optionally verify successful user creation. The README provides detailed usage instructions and context. The exploit is intended for authorized penetration testing and research purposes only. No detection or fake code is present; the exploit is functional and focused on user creation via a network attack vector.

whisperer1290Disclosed Sep 6, 2025pythonnetwork
watchTowr-vs-CrushFTP-Authentication-Bypass-CVE-2025-54309MaturityPoCVerified exploit

This repository contains a proof-of-concept exploit for CVE-2025-54309, an authentication bypass race condition in CrushFTP. The main file, 'watchTowr-vs-CrushFTP-CVE-2025-54309.py', is a Python script that targets the CrushFTP web interface by sending pairs of HTTP POST requests to the '/WebInterface/function/' endpoint. By racing requests with and without a special 'AS2-TO' header and a crafted session cookie, the script attempts to bypass authentication and extract a list of usernames from the server. The exploit is designed to run a large number of request pairs (default 5000), updating session values periodically to maximize the chance of success. The README provides usage instructions, affected versions, and context about the vulnerability. The exploit is a network-based attack and is effective against CrushFTP versions before 10.8.5 and 11 before 11.3.4_23. No hardcoded IPs or credentials are present; the script requires the user to supply the target URL.

watchtowrlabsDisclosed Aug 25, 2025pythonnetwork
EXPOSURE SURFACE

Affected products & vendors

Products and vendors Mallory has correlated with this vulnerability. Open in Mallory to drill down to specific CPE configurations and version ranges.

VendorProductType
CrushftpCrushftpapplication

Vendor-confirmed product mapping. Mallory continuously reconciles this list against your asset inventory.

What this page doesn’t show

The version that knows your environment.

This page is what’s public. Mallory adds the parts that aren’t: which of your assets are affected, which adversaries are exploiting it right now, which detections to deploy, and what to do tonight.
Exposure mapping

Query your assets running an affected version, and investigate the blast radius.

Threat actor evidence2

Every observed campaign linking this CVE to a named adversary.

Associated malware

Malware families riding this exploit, with evidence and IOCs.

Detection signatures3

YARA, Sigma, Snort, and vendor rules, auto-deployed to your SIEM.

Vendor-by-vendor mapping

Cross-references every affected SKU, including bundled OEM variants.

Social activity135

Community discussion across Reddit, Mastodon, and other social sources.