W^X

E590637

W^X is a memory protection security mechanism that enforces pages to be either writable or executable, but not both, to mitigate exploits such as buffer overflows.

All labels observed (2)

Label Occurrences
W^X canonical 1
W^X policy 1

How this entity was disambiguated

Statements (50)

Predicate Object
instanceOf memory protection mechanism ⓘ
security feature ⓘ
affects JIT compiler design ⓘ
dynamic code generation strategies ⓘ
alsoKnownAs Write XOR Execute policy ⓘ
W⊕X ⓘ
appliesOn code segments ⓘ
heap memory regions ⓘ
stack memory regions ⓘ
appliesTo memory pages ⓘ
category computer security ⓘ
operating system security ⓘ
constrains page permissions ⓘ
contrastsWith W+X (writable and executable memory) ⓘ
designBy OpenBSD project ⓘ
linked to: OpenBSD
enforcedBy MMU (Memory Management Unit) ⓘ
operating system kernel ⓘ
page table permission bits ⓘ
fullName Write XOR Execute ⓘ
hasGoal mitigate buffer overflow attacks ⓘ
mitigate code injection attacks ⓘ
mitigate memory corruption exploits ⓘ
mitigate return-to-libc style attacks ⓘ
reduce arbitrary code execution risk ⓘ
hasProperty enforces non-overlap of writable and executable memory permissions ⓘ
prevents memory pages from being both writable and executable simultaneously ⓘ
implementedIn kernel memory management code ⓘ
user-space memory allocators and loaders ⓘ
implies JIT engines must separate code generation and execution phases ⓘ
self-modifying code must use special mechanisms ⓘ
influenced adoption of non-executable memory policies in other operating systems ⓘ
design of modern executable space protections ⓘ
introducedBy OpenBSD ⓘ
introducedInVersion OpenBSD 3.3 ⓘ
linked to: OpenBSD
introducedInYear 2003 ⓘ
relatedTo ASLR ⓘ
DEP (Data Execution Prevention) ⓘ
NX bit ⓘ
executable space protection ⓘ
stack canaries ⓘ
requires hardware support for page-level execute permissions ⓘ
operating system support in the virtual memory subsystem ⓘ
securityBenefit forces attackers to rely on code reuse techniques ⓘ
limits ability of attackers to execute injected payloads ⓘ
securityLimitation does not fix underlying software vulnerabilities ⓘ
does not prevent all return-oriented programming attacks ⓘ
typicalConfiguration mark code pages executable and non-writable ⓘ
mark data pages writable and non-executable ⓘ
usedIn OpenBSD ⓘ
usesModel write-or-execute but not both ⓘ

How these facts were elicited

Referenced by (2)

Full triples — surface form annotated when it differs from this entity's canonical label.

XD bit → relatedTo → W^X policy ⓘ
subject linked to: XD bit (Execute Disable Bit)
linked to: W^X