CVE-2026-53595
FreeScout vulnerabile all'acquisizione anonima dell'account tramite /user-setup con invite_hash vuoto su MySQL
- Pubblicato
- 20 lug 2026
- Aggiornato
- 21 lug 2026
- Assegnazione CNA
- GitHub_M
- Evidenza osservata
- 29 ago 2026
CVSS primario
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:LBasso · prossimi 30 giorni
- Percentile
- 79,8%
- Data del modello
- 15 ott 2026
L'EPSS è una stima statistica, non una certezza o una misura di impatto. Combinalo con CVSS, stato KEV, esposizione e ambiente.
Riepilogo
# FreeScout FreeScout è un help desk gratuito e una casella di posta condivisa costruita con il framework Laravel di PHP. Prima della versione 1.8.224, l'endpoint pubblico `POST /user-setup/{hash}/{invite_sent_at}` (`OpenController@userSetupSave`) seleziona l'account di destinazione esclusivamente tramite la colonna `invite_hash`, quindi sovrascrive l'email e la password di quell'account e accede come tale account. Non è richiesta alcuna autenticazione, cookie o sessione precedente. Dopo che un utente si attiva, FreeScout imposta `invite_hash` sulla stringa vuota. Su MySQL e MariaDB, l'uguaglianza `VARCHAR` ignora gli spazi finali, quindi un singolo spazio codificato in URL (`%20`) corrisponde alla stringa vuota memorizzata e seleziona l'utente attivato con l'ID più basso. Il controllo di scadenza decripta `invite_sent_at` con l'hash della password dell'account di destinazione, ma `Helper::decrypt` restituisce il proprio input grezzo invariato quando la decriptazione fallisce. Un valore numerico in testo semplice come `9999999999` supera quindi il controllo del time-to-live senza alcun segreto. Il risultato è che un attaccante anonimo imposta l'email e la password dell'account FreeScout attivato con l'ID più basso (un agente di supporto, o un amministratore se aggiunto tramite invito) e si autentica come tale account. La versione 1.8.224 contiene una correzione.
Fonti
http/cves/2026/CVE-2026-53595.yaml
Nuclei TemplatesCondizioni dichiarate
- network: http($.protocol_keys)
- verification: dsl($.matchers[*].type)
Utilizzo responsabile
Utilizza le informazioni sulla vulnerabilità solo sui sistemi che possiedi o che sei autorizzato a testare. Kitploit si collega ai metadati della ricerca pubblica e non memorizza codici exploit o payload dannosi.