by manipulating a buffer overflow an attacker can jump
Buffer overflow
to an instruction already in memory which will make a second jump, this time relative to the pointer; that second jump will branch execution into the shellcode