Il cookie stack (noto anche come "canary") non impedisce che l'indirizzo di ritorno venga sovrascritto, ma aumenta le possibilità che il codice noti la sovrascrittura prima dopo l'indirizzo di ritorno sovrascritto.
Questa è euristica: l'idea è che la maggior parte dei buffer overflow che finiscono con la sovrascrittura dell'indirizzo di ritorno procedono sequenzialmente da un buffer di stack, uno dall'altra parte dello slot dei cookie, quindi anche sovrascrivere il cookie. "Mantenere intatto il cookie" richiede che l'attaccante possa in qualche modo effettuare un "overflow di salto" (succede, ma raramente) o può ottenere il valore del cookie in modo che possa sovrascrivere il valore del cookie con se stesso. Ottenere il valore del cookie è difficile poiché viene normalmente scelto in modo casuale al momento dell'esecuzione (i dettagli variano a seconda della versione del sistema operativo e del sistema operativo) e non pubblicizzato; in alcune rare situazioni, l'autore dell'attacco può ottenere il valore del cookie indirettamente dalle conseguenze di un'altra vulnerabilità sfruttabile.
In pratica il cookie stack rende la vita dell'attaccante un po 'più difficile, ma per un bel po'. Non è efficace al 100%, come meccanismo di difesa, ma non è nemmeno banalmente elaborato.