W^X
# W^X

En la programación segura, W^X (W XOR X) es el nombre de una característica de la seguridad informática presente en los sistemas operativos OpenBSD. Es una política de protección de la memoria en la que cada página del espacio de direcciones de un proceso es o escribible o ejecutable, pero no ambas simultáneamente (el nombre viene del operador booleano XOR, que cumple dicha propiedad). W^X no previene que las aplicaciones pidan estos permisos, los permisos de escritura y ejecución no se usan como parte de la política. La base del sistema OpenBSD se ha modificado para cumplir con ello. Esto soluciona algunos ataques de desbordamiento de buffers, incluyendo los más comunes ataques basados en la pila: asegurando que la pila no es ejecutable, ningún código inyectado se ejecutará, en lugar de eso el programa terminará. La primera aparición de W^X fue en la versión 3.3 de OpenBSD; en otros sistemas operativos existen características similares, incluyendo los parches de PaX y Exec Shield para Linux y la implementación de PaX para las versiones 4.x de NetBSD.

