W^X Transition: The .rodata segment Readonly strings and pointers were stored in the .text segment: X | R Meaning const data could be executed (could be code an attacker could use as ROP payload) Solution: start using the ELF .rodata segment These objects are now only R, lost their X permission Greater policy: "minimal set of permissions"