Il cliente che apre il documento di un altro cliente

È il difetto più comune nei portali, e il più imbarazzante da spiegare: un cliente, senza sforzo, si trova davanti la fattura di qualcun altro. Ecco perché succede.

7 minTitolari, chi possiede un portale o un gestionale

Cosa portare a casa

Risposta breve

Quando un'applicazione mostra un documento in base a un numero che compare nell'indirizzo (fattura numero 580) ma non verifica che quel documento appartenga a chi lo sta chiedendo, chiunque può cambiare il numero e vedere i documenti altrui. Il difetto ha un nome tecnico — CWE-639, riferimento a un oggetto senza controllo di autorizzazione — ma il meccanismo è banale, ed è per questo che è così diffuso.

Non è un attacco sofisticato: spesso basta cambiare un numero in un indirizzo web.

È anche una violazione di dati personali, con gli obblighi che ne derivano, non solo un difetto tecnico.

Nascondere il link o rendere il numero casuale riduce la probabilità, ma non chiude la porta.

La correzione è una sola: il server deve verificare, a ogni richiesta, che il dato appartenga a chi lo chiede.

Data Hub

CONSOO

Torna alle guide

Come succede, senza gergo

Immaginate un portale dove ogni cliente scarica le proprie fatture. Il link per aprire una fattura contiene un numero: la fattura 580, la 581, e così via. Un cliente curioso — o disonesto — nota il numero e prova a cambiarlo: al posto della sua 580 scrive 581. Se l'applicazione gliela mostra, ha appena visto la fattura di un altro cliente, con nome, importi e magari indirizzo. Non ha usato strumenti, non ha «bucato» nulla: ha cambiato un numero. Il difetto non è che il numero sia visibile, è che l'applicazione non ha controllato di chi fosse la fattura prima di consegnarla.

Non è solo un problema tecnico: è privacy

Se i dati che si possono vedere sono dati personali — nomi, indirizzi, importi, documenti — questo difetto non è soltanto un errore di programmazione: è una violazione di dati personali ai sensi del GDPR. E se qualcuno lo sfrutta, o anche solo se ci si accorge che era sfruttabile, possono scattare obblighi precisi: valutare il rischio, e in molti casi notificare la violazione al Garante entro 72 ore. Il difetto tecnico e l'obbligo legale sono la stessa cosa vista da due lati.

Le finte soluzioni, e quella vera

Cosa funziona e cosa no
Rimedio propostoFunziona?
Nascondere il link nel menùNo: l'indirizzo digitato a mano funziona lo stesso
Usare un numero lungo e casuale al posto di 580Solo in parte: riduce la probabilità di indovinarlo, ma se trapela la porta è ancora aperta
Aprire i documenti in una nuova finestraNo: non cambia nulla, è solo estetica
Verificare sul server che il documento sia di chi lo chiedeSì: è l'unica correzione reale

La regola: la sicurezza non può stare nel nascondere l'indirizzo, perché l'indirizzo è nelle mani dell'utente. Deve stare nel controllo che fa il server, che l'utente non può aggirare.

La correzione giusta è un controllo di autorizzazione lato server: a ogni richiesta di un documento, prima di consegnarlo, l'applicazione verifica che appartenga all'utente collegato. È un controllo che va messo in ogni punto in cui si accede a un dato, uno per uno — ed è proprio perché va ripetuto ovunque che a volte se ne dimentica qualcuno.

Risorse collegate utili

Domande frequenti

Posso verificare da solo se il mio portale ha questo problema?

Sì, ed è una delle poche verifiche di sicurezza davvero alla portata di tutti: bastano due account di prova. La guida «Trovare da soli un IDOR nella tua app» spiega la sequenza passo per passo. Se un account riesce a vedere i dati dell'altro, il difetto c'è.

Il mio fornitore dice che è a posto perché i numeri sono casuali. Mi fido?

È un miglioramento, non una garanzia. Un numero casuale è più difficile da indovinare, ma se compare in un log, in un indirizzo condiviso via email o in una vecchia cronologia, chi ce l'ha accede lo stesso, perché il server continua a non controllare la proprietà. Chiedete se esiste il controllo di autorizzazione lato server: è quella la risposta che conta.

Quanto è comune davvero?

Molto: è la famiglia di difetti al primo posto della classifica OWASP dei problemi più diffusi, e nei portali clienti e nei gestionali su misura è quello che si trova più spesso. Non perché chi li costruisce sia incapace, ma perché il controllo va ripetuto in ogni punto e basta dimenticarne uno.

Se lo trovo, quanto costa sistemarlo?

Il singolo punto è di solito una correzione contenuta. Il lavoro vero è trovarli tutti: un'applicazione di media grandezza ha decine di punti in cui si accede a un dato, e vanno controllati uno per uno. È esattamente ciò che un test di sicurezza fa in modo sistematico.

Avete un portale dove i clienti accedono ai propri documenti? Vale la pena verificare questo difetto prima che lo faccia un cliente. Lo controlliamo insieme in una consulenza gratuita.

CONSOO trasforma idee su software, AI e integrazioni in un percorso tecnico chiaro per PMI.

  • 30 minuti, online
  • Nessun impegno
  • Analisi del tuo caso reale
  • Risposta entro 24 ore