Skip to content
Vol. 1 · Ed. 2026
CyberGlossary
Entry № 1058

SMEP / SMAP

¿Qué es SMEP / SMAP?

SMEP / SMAPSMEP y SMAP son funciones de CPU que impiden que el kernel ejecute o acceda a paginas de usuario, bloqueando tecnicas comunes de escalada local de privilegios.


Supervisor Mode Execution Prevention (SMEP) y Supervisor Mode Access Prevention (SMAP) son extensiones x86_64 introducidas por Intel en Ivy Bridge (SMEP, 2012) y Broadwell (SMAP, 2014); ARM ofrece equivalentes llamados PXN y PAN. SMEP hace que la CPU genere una falta si el kernel intenta ejecutar instrucciones desde una pagina mapeada a usuario, neutralizando los ataques ret2usr. SMAP provoca una falta en cualquier lectura o escritura del kernel sobre paginas de usuario salvo que se ponga EFLAGS.AC con stac/clac (Linux: envoltorios copy_from_user). Juntos eliminan una gran clase de explotaciones del kernel y complementan KASLR, kCFI, KPTI y CET.

Ejemplos

  1. 01

    En una CPU con SMEP, un exploit del kernel falla con #PF al saltar a shellcode en espacio de usuario.

  2. 02

    En Linux con SMAP, copy_from_user usa stac/clac para acceder a buffers de usuario.

Preguntas frecuentes

¿Qué es SMEP / SMAP?

SMEP y SMAP son funciones de CPU que impiden que el kernel ejecute o acceda a paginas de usuario, bloqueando tecnicas comunes de escalada local de privilegios. Pertenece a la categoría de Seguridad de aplicaciones en ciberseguridad.

¿Qué significa SMEP / SMAP?

SMEP y SMAP son funciones de CPU que impiden que el kernel ejecute o acceda a paginas de usuario, bloqueando tecnicas comunes de escalada local de privilegios.

¿Cómo funciona SMEP / SMAP?

Supervisor Mode Execution Prevention (SMEP) y Supervisor Mode Access Prevention (SMAP) son extensiones x86_64 introducidas por Intel en Ivy Bridge (SMEP, 2012) y Broadwell (SMAP, 2014); ARM ofrece equivalentes llamados PXN y PAN. SMEP hace que la CPU genere una falta si el kernel intenta ejecutar instrucciones desde una pagina mapeada a usuario, neutralizando los ataques ret2usr. SMAP provoca una falta en cualquier lectura o escritura del kernel sobre paginas de usuario salvo que se ponga EFLAGS.AC con stac/clac (Linux: envoltorios copy_from_user). Juntos eliminan una gran clase de explotaciones del kernel y complementan KASLR, kCFI, KPTI y CET.

¿Cómo defenderse de SMEP / SMAP?

Las defensas contra SMEP / SMAP combinan habitualmente controles técnicos y prácticas operativas, como se detalla en la definición.

¿Cuáles son otros nombres para SMEP / SMAP?

Nombres alternativos comunes: SMEP, SMAP, PXN, PAN.

Términos relacionados