Skip to content

Interview question · Systems, OS & Memory Safety

Why do JIT compilers clash with W^X memory protection, how do runtimes reconcile them, and why are JIT bugs so valuable to attackers?

W^X says memory is writable or executable, never both. A JIT compiler's whole job is writing code and then running it. How a runtime squares that circle decides how much an attacker gains from a memory bug.

hardNewPreparation tags: Google, Apple, MicrosoftUpdated Nov 2026

W^X says memory is writable or executable, never both. A JIT compiler's whole job is writing code and then running it. How a runtime squares that circle decides how much an attacker gains from a memory bug.

Make your first attempt

What would you say before reading the answer?

  1. 01 State the assumptions your answer depends on.
  2. 02 Explain the mechanism and choose a control.
  3. 03 Name a condition that would change your decision.

The worked answer includes an approach, scoring criteria and follow-up questions. Compare the reasoning with your own.

10 answers per topic instead of 5, plus saved progress and bookmarks · costs nothingor unlock all 529 remaining answers · $25

Every worked answer in all 17 topics, every lesson in every course, the full concept curriculum, the complete practice-test bank, and the downloadable security field guides.

6 months · One payment · No auto-renewal

What if · the follow-ups in this answer

The answer works through 6 follow-ups like an interviewer would

A JavaScript engine compiles code at runtime into machine instructions, which conflicts with policies that forbid writable and executable memory.

  1. What is write xor execute (W^X)?
  2. Why do JIT compilers conflict with it?
  3. How do engines reconcile JIT with W^X?
  4. What do stricter platforms do?
  5. Why do some browsers offer JIT-less modes?
  6. How would you explain the trade-off?

Each rung has a nudge, a model answer, the principle that carries over and the weak answer to avoid. Premium opens every answer and ladder.

UP NEXT ON YOUR JOURNEY
DISCUSSION · 0

No comments yet. Share a correction or a different way to answer it.