Cambiando un numero nell'URL si accedeva al passaporto, all'indirizzo di casa e alle preferenze di consumo cannabis di 1.082.680 utenti. La falla nei sistemi di Nefos Solutions, software gestionale usato dai club cannabis europei, e' stata scoperta dal ricercatore Sammy Azdoufal e ricade nella classe di vulnerabilita' piu' comune del web. Una verifica di autorizzazione dimenticata, in un endpoint API, e quasi un milione di documenti di identita' sono diventati pubblici.
Come e' stata scoperta la falla
Azdoufal ha iscritto la propria identita' a un club cannabis di Barcellona e ha decompilato PuffPal, l'app opzionale che molti club europei usano per velocizzare la gestione degli accessi tramite QR code. Dentro al codice ha trovato una chiave segreta di Stripe in chiaro: il primo segnale che lo sviluppo non rispettava nemmeno le regole base della sicurezza applicativa. Da li' e' emersa una catena di vulnerabilita': gli URL dei documenti di identita' erano pubblici e seguivano una struttura banale, l'admin portal era esposto su internet, le password dei club violabili in pochi minuti con una GPU moderna, e perfino i messaggi privati tra club e iscritti erano leggibili senza autenticazione. Il sistema accumulava 5.000 nuovi documenti al giorno, e quattro giorni dopo la prima patch Azdoufal ha verificato che il proprio passaporto era di nuovo online. La responsabilita' tecnica dello sviluppo era stata affidata in outsourcing a 9Series, ditta con cui Nefos ha chiuso il rapporto dopo la scoperta.
La vulnerabilita' piu' banale del web
Il meccanismo che ha permesso di estrarre numeri di passaporto, telefoni, email e indirizzi di casa di tutti gli iscritti si chiama IDOR, Insecure Direct Object Reference. Un endpoint API accetta l'ID dell'utente come parametro e restituisce i dati corrispondenti senza verificare se chi fa la richiesta e' autorizzato a vederli. Bastava un comando curl con un ID diverso per leggere il profilo di qualcun altro: nessun exploit, nessun bypass, solo l'incremento di un numero.
IDOR rientra nella categoria Broken Access Control, che secondo OWASP occupa la prima posizione della Top 10 delle vulnerabilita' web 2021: il 94% delle applicazioni testate presenta una qualche forma di controllo degli accessi rotto, con oltre 318.000 occorrenze nei dataset analizzati. Non e' un attacco sofisticato, e' la conseguenza di una verifica dimenticata in fase di sviluppo. Lo stesso tipo di buco che, in scenari diversi, alimenta gli attacchi DDoS contro istituzioni italiane e le campagne di sfruttamento dei dati personali su scala continentale.
GDPR violato due volte
Il Regolamento UE 2016/679 (GDPR) - testo ufficiale EUR-Lex impone al titolare del trattamento di notificare una violazione di dati personali all'autorita' di controllo entro 72 ore dalla conoscenza del fatto, secondo l'articolo 33. Nefos ha risposto al primo report di Azdoufal cinque giorni dopo, e il co-fondatore Andreas Nilsen ha riconosciuto pubblicamente il ritardo. La sanzione prevista dall'articolo 83.4 GDPR per la mancata notifica arriva fino a 10 milioni di euro o il 2% del fatturato mondiale annuo, quello piu' alto dei due.
L'autorita' competente nel caso Nefos e' l'Irish Data Protection Commission, la stessa che guida l'enforcement GDPR in Europa: ha emesso oltre il 50% delle sanzioni continentali del 2025 e cumula 4,04 miliardi di euro di multe imposte dal 2018, anche se solo 20 milioni sono stati effettivamente incassati a causa dei contenziosi pendenti. Otto delle dieci sanzioni GDPR piu' alte di sempre sono partite da Dublino. Il dossier privacy si intreccia con il quadro piu' ampio dell'azione UE sul digitale, dalle nuove regole sulle piattaforme alla lotta UE alla disinformazione.
Al 10 giugno passaporti e dati personali risultano protetti: Nefos sta spegnendo PuffPal e le API vulnerabili in attesa di una ricostruzione completa, e ha notificato sia le autorita' locali sia l'Irish DPC. Per i circa un milione di iscritti resta pero' il danno gia' fatto: un documento ufficiale incrociato con indirizzo di casa e abitudini di consumo forma un profilo che non si revoca cancellando un account.