CWE-121 è la voce della Common Weakness Enumeration per i buffer overflow basati sullo stack. Descrive una vulnerabilità di sicurezza della memoria in cui un programma scrive più dati in un buffer dello stack di quanti ne possa contenere, sovrascrivendo dati adiacenti dello stack come informazioni di frame salvate o indirizzi di ritorno. Poiché lo stack viene usato per le chiamate di funzione e le variabili locali, questo tipo di bug può destabilizzare un processo, corrompere il flusso di esecuzione o consentire l'esecuzione di codice se un attaccante riesce a modellare i dati sovrascritti.
Nella sicurezza informatica, CWE-121 è importante perché spesso compare in servizi esposti alla rete, parser e codice di autenticazione, dove input controllati dall'attaccante raggiungono operazioni di memoria non sicure. I difensori lo individuano tramite revisioni di codice sicuro, fuzzing e protezioni del compilatore e della piattaforma come stack canary, ASLR e memoria non eseguibile. La correzione migliore consiste di solito nell'eliminare la condizione di overflow stessa usando API con controllo dei limiti, convalidando le lunghezze dell'input e applicando patch al software vulnerabile.


