PwnDoc fino alla versione 0.5.3 consente agli attaccanti remoti di identificare i nomi utente di account disabilitati sfruttando i messaggi di risposta durante i tentativi di autenticazione.

ProdottoCVEPunteggio CVSSv3CWE
PwnDocCVE-2022-440235.3 (Medio)CWE-307

Exploitation Steps

Questa vulnerabilità consente l’enumerazione dei nomi utente degli account disabilitati in PwnDoc (testato sulla versione 0.5.3 - 2022-07-19) osservando le risposte del server ai tentativi di login.

Scenario Esempio:

Supponiamo che i seguenti utenti siano stati registrati e successivamente disabilitati in PwnDoc:
Elenco degli utenti disabilitati registrati in PwnDoc per l’attacco di enumerazione dei nomi utente

Quando si tenta di accedere con uno di questi account disabilitati, l’applicazione risponde con un messaggio di errore specifico: “Account disabilitato”:
Messaggio di errore “Account disabilitato” durante il tentativo di login con un utente disabilitato in PwnDoc

Richiesta del Client e Risposta del Server:

  • Richiesta: Tentativo di accesso con un nome utente disabilitato
  • Risposta: “Account disabilitato”

Esempio di richiesta POST di login per tentativo di accesso con un utente disabilitato in PwnDoc

Al contrario, quando si tenta di accedere con un utente inesistente, l’applicazione risponde con un messaggio diverso: “Credenziali non valide”:
Messaggio di errore “Credenziali non valide” per un nome utente inesistente in PwnDoc

Tecnica di Sfruttamento:

Un attaccante può sfruttare questo comportamento per enumerare gli account disabilitati seguendo questi passaggi:

  1. Eseguire un attacco di forza bruta con dizionario utilizzando un elenco di nomi utente potenziali tramite richieste POST di login.
  2. Osservare le risposte per distinguere tra:
    • “Account disabilitato” (indica un account valido ma disabilitato).
    • “Credenziali non valide” (indica un account inesistente).

Attacco di forza bruta con dizionario per l’enumerazione dei nomi utente disabilitati in PwnDoc

Questa enumerazione può essere sfruttata per identificare account che potrebbero essere riattivati in seguito da un amministratore, aumentando la superficie di attacco.


Risorse: