Description
CrushFTP 10 before 10.8.4 and 11 before 11.3.1 allows authentication bypass and takeover of the crushadmin account (unless a DMZ proxy instance is used), as exploited in the wild in March and April 2025, aka "Unauthenticated HTTP(S) port access." A race condition exists in the AWS4-HMAC (compatible with S3) authorization method of the HTTP component of the FTP server. The server first verifies the existence of the user by performing a call to login_user_pass() with no password requirement. This will authenticate the session through the HMAC verification process and up until the server checks for user verification once more. The vulnerability can be further stabilized, eliminating the need for successfully triggering a race condition, by sending a mangled AWS4-HMAC header. By providing only the username and a following slash (/), the server will successfully find a username, which triggers the successful anypass authentication process, but the server will fail to find the expected SignedHeaders entry, resulting in an index-out-of-bounds error that stops the code from reaching the session cleanup. Together, these issues make it trivial to authenticate as any known or guessable user (e.g., crushadmin), and can lead to a full compromise of the system by obtaining an administrative account.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| CrushFTP | CrushFTP | 10 – < 10.8.4, 11 – < 11.3.1 | 10.8.4 |
Public exploits
Exploit or proof-of-concept code for this vulnerability is publicly available, which lowers the bar for attackers. Treat it as a reason to patch sooner.
Exploit-DB 1
- CrushFTP 11.3.1 - Authentication Bypass EDB-52295 · remote · May 18, 2025
GitHub 20 repositories · most starred shown
-
Immersive-Labs-Sec/CVE-2025-31161 ★ 48 · Apr 8, 2025
Proof of Concept for CVE-2025-31161 / CVE-2025-2825
-
0xgh057r3c0n/CVE-2025-31161 ★ 5 · May 23, 2025
🛡️ CVE-2025-31161 - CrushFTP User Creation Authentication Bypass Exploit
-
c4bsec/CVE-2025-31161 ★ 2 · Oct 21, 2025
-
f4dee-backup/CVE-2025-31161 ★ 2 · Sep 10, 2025
PoC CVE-2025-31161 - Authentication Bypass CrushFTP
-
TX-One/CVE-2025-31161 ★ 2 · Apr 21, 2025
CrushFTP CVE-2025-31161 Exploit Tool 🔓
-
ashrafzaryouh/CVE-2025-31161 ★ 1 · Apr 20, 2026
CVE-2025-31161
-
Dairrow/CVE-2025-31161 ★ 1 · Jan 11, 2026
PoC Authentication Bypass to RCE to Exploit CVE-2025-31161
-
ch3m1cl/CVE-2025-31161 ★ 1 · Dec 7, 2025
-
SUPRAAA-1337/Nuclei_CVE-2025-31161_CVE-2025-2825 ★ 1 · Apr 24, 2025
Official Nuclei template for CVE-2025-31161 (formerly CVE-2025-2825)
-
SUPRAAA-1337/CVE-2025-31161_exploit ★ 0 · Apr 24, 2025
CVE-2025-31161 python exploit
Sources: PoC-in-GitHub, Metasploit Framework, Exploit-DB — updated daily. Only links are listed; no exploit code is hosted here.
Automated scanner template
A ready-made Nuclei template detects this vulnerability automatically. Vulnerabilities with public scanner templates are typically probed across the internet soon after the template appears — exposed systems should be patched first.
- CrushFTP - Authentication Bypass http/cves/2025/CVE-2025-31161.yaml
Source: projectdiscovery/nuclei-templates (MIT) — updated daily. Only links are listed.
Advisories 2
- NCSC-2025-0101 Kwetsbaarheid verholpen in CrushFTP NCSC-NL (Netherlands) · Apr 7, 2025
- WID-SEC-2025-0615 CrushFTP: Schwachstelle ermöglicht das Umgehen der Authentisierung BSI CERT-Bund (WID) · Apr 2, 2025