Ogni anno l’associazione statunitense MITRE compila l’elenco CWE Top 25 con le vulnerabilità conosciute che sono sotto attacco attivo e che devono essere riparate. Lo fa analizzando i dati pubblici contenuti nell’America’s National Vulnerability Database e trasmette al governo americano sempre le stesse priorità. Anche nel 2023, infatti, “the winner is” la scrittura fuori dai limiti (CWE-787). Questo bug sarebbe responsabile di 70 falle contrassegnate da CVE (Common Vulnerabilities and Exposures) quest’anno e da tempo non emergono miglioramenti nell’evitarlo, nonostante capeggi sempre in questa allarmante classifica.
Un podio che compie gli anni
Un tipo di vulnerabilità come la scrittura fuori dai limiti può essere innescata sia accidentalmente, durante il normale funzionamento, sia deliberatamente, dal codice di exploit. In questo ultimo caso l’obiettivo del criminale potrebbe essere quello di alterare le strutture di dati per dirottare il flusso di esecuzione e prendere il controllo del software, sia esso un’applicazione, un servizio remoto o una parte del sistema operativo.
Ciò che tecnicamente accade con questo bug è che il software altera una memoria che non dovrebbe toccare, per esempio scrivendo dati in un buffer di memoria oltre la sua fine e causando una modifica inaspettata di altre variabili e informazioni e/o un crash.
L’unico modo per evitare questo tipo di sovrascrittura sarebbe quello di usare linguaggi sicuri per la memoria come Rust ma, secondo il MITRE, il messaggio non sembra essere stato recepito.
Scorrendo l’elenco dell’associazione americana, al secondo posto si trova un altro bug evergreen come il cross-site scripting (CWE-79), considerato spesso una forma elegante di mancata sanificazione dell’input dell’utente. Problemi di qualità dell’input sono alla base anche del terzo bug più frequente che è quello inerente ai difetti di iniezione SQL (CWE-89).
New entry e nuovi rischi
Al di là della natura di questi bug, ciò che va notato è che la classifica dei tre bachi più pericolosi per il 2023 è identica a quella del 2022. Un chiaro segno di come le organizzazioni stentino a fare progressi, nei fatti, nonostante alcuni grandi annunci di investimenti in sicurezza.
Questo non significa che nella Top 25 di quest’anno non ci siano novità e movimenti. C’è un bug, per esempio, che dal settimo posto dell’anno scorso è passato al quarto posto, entrando nella rosa dei problemi più pericolosi del 2023. Si tratta di CWE-416, o use-after-free, una vulnerabilità che emerge quando un programma, un servizio remoto o un componente del sistema operativo libera memoria non più necessaria, ma continua a utilizzarla comunque. Ciò che accade è che si continua a fare affidamento su una memoria che potrebbe essere stata manipolata da un altro codice, rischiando di subire arresti anomali o il dirottamento dell’esecuzione.
Un altro bug in risalita, anche se confinato in posizioni più basse, è quello legato alla mancanza di autorizzazioni (CWE-862) che fa un balzo dalla sedicesima posizione dello scorso anno alla numero 11 del 2023. A fare il nuovo ingresso, invece, sono altri due bachi altrettanto insidiosi: uno riguarda la gestione impropria dei privilegi (CWE-269) ora al 22esimo posto, e l’altro l’autorizzazione non corretta (CWE-863), in classifica per il rotto della cuffia ma presente, al 24esimo posto.