OWASP Top 10 – 2025: la nuova classifica dei rischi di sicurezza più critici
L'OWASP Top 10 è il principale punto di riferimento per capire quali rischi minacciano davvero le applicazioni web. Nato nel 2003 come guida per aiutare sviluppatori e organizzazioni a costruire software più sicuro, oggi è diventato uno standard di fatto usato per formazione, audit e conformità.(...)
L'edizione 2025 aggiorna la fotografia delle minacce moderne e mostra come gli attacchi siano cambiati negli ultimi anni. Non è solo una lista di sigle: evidenzia errori ricorrenti, nuove debolezze e problemi strutturali che colpiscono siti e applicazioni reali. Per rendere il tutto più utile, ogni voce è accompagnata da una breve contestualizzazione che aiuta a capire quando e perché quella vulnerabilità può riguardare il proprio sito.
A01:2025 – Broken Access Control
Broken Access Control mantiene la sua posizione al #1 come il rischio di sicurezza applicativa più grave; i dati indicano che in media il 3,73% delle applicazioni testate presenta una o più delle 40 CWE in questa categoria. La SSRF (Server-Side Request Forgery) è stata inglobata in questa categoria.
In pratica: sono tutti i casi in cui un utente riesce a fare o vedere cose che non dovrebbe: accedere a dati di altri, usare funzioni amministrative, chiamare API "nascoste", aggirare controlli lato client.
Quando devi preoccuparti
Usi un CMS (WordPress, Joomla, altro) con più ruoli (admin, editor, autore…).
Hai aree riservate, pannelli admin, API interne.
Hai "link segreti" o pagine "non linkate" che pensi siano nascoste solo perché non pubbliche.
Se esiste un concetto di "questo lo può fare solo X", allora A01 ti riguarda.
A02:2025 – Security Misconfiguration
Security Misconfiguration sale dal #5 del 2021 al #2 nel 2025. Il 3,00% delle applicazioni testate presenta una o più delle 16 CWE in questa categoria. È un problema in crescita, perché sempre più comportamento applicativo è basato su configurazioni.
In pratica: configurazioni sbagliate o lasciate di default: directory listing attivo, permessi file errati, header HTTP mancanti, debug attivo in produzione, pannelli di amministrazione esposti, servizi non necessari attivi.
Quando devi preoccuparti
Il tuo sito è su hosting condiviso e non hai mai guardato le impostazioni di sicurezza.
Non sai cosa siano header come CSP, HSTS, X-Frame-Options, Referrer-Policy.
Hai plugin o estensioni con mille opzioni "lasciate come sono".
Hai ambienti di test o staging raggiungibili da Internet.
Se "funziona, quindi va bene così" è il tuo criterio, A02 è il tuo problema.
A03:2025 – Software Supply Chain Failures
È un'estensione di "Vulnerable and Outdated Components" (A06:2021), con uno sguardo più ampio a tutto l'ecosistema: dipendenze software, sistemi di build, infrastruttura di distribuzione. Ha poche occorrenze nei dati, ma i punteggi di exploit e impatto sono i più alti.
In pratica: non è più solo "il plugin vulnerabile": è l'intera catena che porta il codice online. Librerie, plugin, temi, repository, CI/CD, provider, CDN. Se qualcuno compromette un anello, compromette il tuo sito.
Quando devi preoccuparti
Usi molti plugin/estensioni di cui non conosci lo stato di manutenzione.
Scarichi temi o estensioni da siti non ufficiali.
Hai una pipeline di deploy (Git → build → upload) ma le chiavi/token sono gestiti "alla buona".
Usi librerie JS/CSS da CDN esterne senza pensarci troppo.
Se "installo questo plugin e vediamo" è una frase che usi spesso, A03 ti riguarda.
A04:2025 – Cryptographic Failures
Scende dal #2 al #4. In media, il 3,80% delle applicazioni presenta una o più delle 32 CWE in questa categoria. Spesso porta a esposizione di dati sensibili o compromissione del sistema.
In pratica: tutto ciò che riguarda cifratura fatta male: niente HTTPS, protocolli obsoleti, certificati scaduti, chiavi gestite male, dati sensibili memorizzati in chiaro, cookie non protetti.
Quando devi preoccuparti
Il tuo sito è ancora raggiungibile in HTTP senza redirect a HTTPS.
Il certificato scade "quando scade" e te ne accorgi solo quando il browser inizia a urlare.
Gestisci login, dati personali, form di contatto con dati sensibili.
Usi plugin che memorizzano dati in chiaro nel database.
Se il lucchetto del browser per te è solo "una cosa estetica", A04 è un rischio concreto.
A05:2025 – Injection
Scende dal #3 al #5, ma resta una delle categorie più testate, con il maggior numero di CVE associate alle 38 CWE. Va da XSS (alta frequenza/basso impatto) a SQL Injection (bassa frequenza/alto impatto).
In pratica: tutti i casi in cui input non filtrato finisce in comandi: SQL, shell, LDAP, template, ecc. È la "classica" vulnerabilità: SQL injection, XSS, command injection.
Quando devi preoccuparti
Il tuo sito ha form (contatti, registrazione, ricerca, commenti…).
Hai plugin che gestiscono input utente e li usano per query o template.
Hai sviluppato codice custom (PHP, Python, ecc.) senza usare ORM/prepared statements.
Se nel tuo mondo esiste un "$_POST" o un "SELECT … WHERE $input", A05 è sempre dietro l'angolo.
A06:2025 – Insecure Design
Scende dal #4 al #6, superata da Misconfiguration e Supply Chain. Introdotta nel 2021, riflette i miglioramenti nel threat modeling e nel design sicuro, ma resta centrale.
In pratica: non è un bug, è una scelta sbagliata di progetto. Esempi: tutto è admin, nessun limite di tentativi di login, nessun controllo su flussi critici, nessun ragionamento su "cosa succede se…".
Quando devi preoccuparti
Il sito è cresciuto "a strati", senza una vera progettazione.
Ogni nuova funzione viene aggiunta "come si riesce", non "come si dovrebbe".
Non hai mai fatto una vera analisi dei flussi: login, reset password, pagamenti, upload, ecc.
Se il tuo approccio è "intanto lo mettiamo online, poi vediamo", A06 ti riguarda.
A07:2025 – Authentication Failures
Mantiene il #7, con un nome aggiornato (prima "Identification and Authentication Failures") per riflettere meglio le 36 CWE. L'uso di framework standardizzati sta riducendo le occorrenze, ma resta una categoria importante.
In pratica: login deboli, gestione sessioni fragile, reset password insicuri, 2FA assente dove servirebbe, cookie di sessione non protetti, credenziali esposte.
Quando devi preoccuparti
Hai un pannello admin accessibile da Internet.
Usi ancora "admin/admin" o varianti simili (o le usano i tuoi clienti…).
Non hai 2FA su account critici (hosting, CMS, Git, pannello provider).
Il reset password è basato su link prevedibili o informazioni troppo facili da indovinare.
Se "tanto chi vuoi che ci provi" è mai stato detto, A07 è un rischio reale.
A08:2025 – Software or Data Integrity Failures
Resta al #8. Si concentra sul mancato mantenimento dei confini di fiducia e sulla mancata verifica dell'integrità di software, codice e dati, a un livello più basso rispetto alla supply chain.
In pratica: file modificati senza che nessuno se ne accorga, aggiornamenti non verificati, script alterati, contenuti manipolati. È il regno dei defacement, delle backdoor, dei JS malevoli inseriti in pagine legittime.
Quando devi preoccuparti
Non hai un sistema di backup + confronto dei file (o non lo guardi mai).
Il deploy è "carico via FTP e speriamo bene".
Più persone hanno accesso in scrittura al codice, ma senza tracciamento.
Non hai nessun controllo su "chi ha cambiato cosa, quando".
Se l'unico modo per accorgerti di un defacement è "un utente che ti scrive", A08 è un problema.
A09:2025 – Security Logging & Alerting Failures
Mantiene il #9, con un nome aggiornato per enfatizzare l'importanza dell'alerting. Ottimi log senza alert servono a poco. È storicamente sottorappresentata nei dati, ma sempre votata dalla community.
In pratica: log inesistenti, incompleti, illeggibili o inutilizzati. Nessun alert su tentativi di login falliti, errori strani, accessi anomali. Incidenti che vengono scoperti mesi dopo, per caso.
Quando devi preoccuparti
Non guardi mai i log del sito/hosting.
Non hai nessun sistema che ti avvisa se qualcosa va storto.
Non hai idea di quante volte al giorno qualcuno provi a fare login o a scansionare il sito.
Se "non so dove siano i log" è una frase vera, A09 è una vulnerabilità attiva.
A10:2025 – Mishandling of Exceptional Conditions
Nuova categoria 2025. Contiene 24 CWE su gestione impropria degli errori, errori logici, "fail open" e altri scenari legati a condizioni anomale.
In pratica: cosa succede quando qualcosa va storto? Errori che mostrano stack trace, pagine di errore che rivelano percorsi interni, fallback che aprono più di quanto dovrebbero, comportamenti "strani" sotto carico o in condizioni limite.
Quando devi preoccuparti
In produzione vedi ancora errori tipo
Warning:,Notice:, stack trace PHP, ecc.Le pagine 404/500 sono quelle di default del server, verbose e piene di dettagli.
Non hai mai testato "cosa succede se": il DB non risponde, il disco è pieno, un plugin va in errore.
Se il tuo test è solo "funziona quando tutto va bene", A10 è un rischio silenzioso.

