Address Space Layout Randomization (ASLR) is a memory-protection technique that varies where parts of a program and its data are placed in memory, such as the stack, heap, and shared libraries. This makes it harder for an attacker to predict the addresses needed to exploit a memory-corruption flaw.
ASLR can reduce the reliability of attacks involving bugs such as buffer overflows or use-after-free errors, but it does not fix the underlying bug or prevent every exploit. Attackers may try to discover memory addresses through information leaks, and protection depends on operating-system and application support. Defenders should keep systems patched and enable ASLR and other applicable exploit mitigations; when assessing a vulnerability, mitigation status is one factor in judging practical risk.


