A heap-based buffer overflow allows an authorized attacker to execute arbitrary code over a network, which can affect the system. A heap-based buffer overflow occurs when a program writes more data to a heap memory buffer than it can hold, potentially overwriting adjacent memory.