Memory Corruption: its when a programming error causes a program to access memory in an invalid way, overwriting memory reserved for a different variable. It causes access to uninitialized or freed memory that may allow an attacker to take control of a program.
Memory Corruption Classes: buffer overflows, format string injection, integer overflows, uninitialized memory use and more ..
Memory Corruption Exploits: their goals usually is to inject a machine code payload "shellcode" and get the target program to run it.