The software makes invalid assumptions about how protocol data or memory is organized at a lower level, resulting in unintended program behavior.