Stack-smashing protection is an exploit mitigation technique. It protects against buffer overflow attacks by placing a random and known value (called stack canary) between a buffer and control data on the stack.