La cookie de pila (también conocida como "canary") no evita que la dirección de retorno se sobrescriba, pero aumenta las posibilidades de que el código advierta que la sobrescritura antes sigue la dirección de retorno sobrescrita.
Esto es heurístico: la idea es que la mayoría de los desbordamientos de búfer que terminan sobrescribiendo la dirección de retorno proceden secuencialmente de un búfer de pila, uno al "otro lado" de la ranura de cookies, por lo que también también sobrescribir la cookie. "Mantener la cookie intacta" requiere que el atacante pueda, de alguna manera, hacer un "desbordamiento saltante" (sucede, pero rara vez) o puede obtener el valor de la cookie para que pueda sobrescribir el valor de la cookie. Obtener el valor de la cookie es difícil, ya que normalmente se elige aleatoriamente en el momento de la ejecución (los detalles varían según el sistema operativo y la versión del sistema operativo), y no se anuncian; en algunas situaciones raras, el atacante puede obtener el valor de la cookie indirectamente de las consecuencias de otra vulnerabilidad explotable.
En la práctica, la cookie de pila hace que la vida del atacante sea un poco más difícil, pero por un tiempo bastante grande. No es 100% efectivo, como mecanismo de defensa, pero tampoco está trivialmente trabajado.