Stack overflow: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica
Ft1 (discussione | contributi)
m formattazione
Riga 1:
Uno '''stack overflow''' è la scrittura al di fuori dei limiti della memoria assegnata allo stack che si va a sostituire alle [[istruzione (informatica)|istruzioni]] del programma in esecuzione.
Si immagini l'utilizzo di una allocazione di memoria dedicata all'esecuzione di un programma come una pila.
Mentre le istruzioni vengono allocate in quell'area partendo dall'alto verso il basso della pila, lo [[stack]], utilizzando la sua organizzazione [[LIFO]], crescerà dal basso verso l'alto di questa seguendo quanto indicato dallo [[Stackstack Pointerpointer]], un registro dedicato delle [[CPU]].
Se ad ogni operazione di [[Pushpush]] nello stack non corrisponde un'opportuno numero di operazioni di [[Poppop]] questo può continuare a lievitare fino a giungere a sovrascrivere le informazioni del programma.
Opportunatamente sfruttato questo tipo di [[overflow]] può far si che un utente malintenzionato sfrutti questa [[vulnerabilità]] per l'esecuzione di codice arbitrario che si va a sostituire a quello del programma in esecuzione.