T52 Dec 24, 2025 2 min read

Executing data as code

When the CPU attempts to run bytes that are not intended to be instructions, often due to memory corruption or control-flow hijacking.

Definition

Executing data as code is when the CPU attempts to interpret arbitrary bytes as machine instructions.

This typically happens when control flow is corrupted and the instruction pointer jumps into memory that contains data rather than executable code.

Why it matters

This can be a symptom of:

  • memory corruption (use-after-free, buffer overflow)
  • a broken or mismatched binary for the current architecture
  • an exploit attempt or security issue

At the application level it often shows up as a crash like SIGILL or SIGSEGV.