Atributo sandbox de iframe
¿Qué es Atributo sandbox de iframe?
Atributo sandbox de iframeAtributo HTML que aplica restricciones adicionales al contenido de un iframe, bloqueando scripts, formularios, navegacion y acceso same-origin salvo que se reactiven explicitamente.
El atributo sandbox de un <iframe>, definido en el HTML Living Standard, aplica una politica de minimo privilegio al contenido embebido. Con un valor vacio (sandbox="") desactiva scripts, plugins, envio de formularios, navegacion de nivel superior y same-origin, popups, pointer-lock, reproduccion automatica y las APIs Pointer Lock y Presentation, y fuerza al marco a adoptar un origen opaco unico para que no pueda leer las cookies, el localStorage ni el DOM del padre. Las capacidades se vuelven a conceder token a token: allow-scripts, allow-same-origin, allow-forms, allow-popups, allow-modals, allow-downloads, allow-top-navigation-by-user-activation.
El error critico: combinar allow-scripts allow-same-origin devuelve el marco a su origen real y le permite ejecutar JavaScript, de modo que el codigo aislado puede simplemente alcanzar su propio DOM y eliminar el atributo sandbox de un marco anidado, anulando la proteccion. Para alojar contenido genuinamente no confiable, aislalo en un origen aparte y combina el sandbox con Content-Security-Policy: sandbox (que no puede ser eliminado por el marcado) y las politicas Cross-Origin-Opener/Embedder. El aislamiento sustenta el renderizado seguro de anuncios, previsualizaciones de texto enriquecido y widgets de terceros; Caja de Google y servicios modernos como CodePen y JSFiddle se apoyan en marcos aislados sobre origenes desechables para ejecutar codigo controlado por el atacante sin poner en peligro la pagina anfitriona.
flowchart TD
A[Pagina padre] --> B["<iframe sandbox><br/>incrusta contenido no confiable"]
B --> C{Que tokens se establecen?}
C -->|"sandbox="" (vacio)"| D[Origen opaco, sin scripts,<br/>sin formularios, sin navegacion]
C -->|solo allow-scripts| E[Los scripts se ejecutan, aun<br/>en origen opaco - seguro]
C -->|"allow-scripts +<br/>allow-same-origin"| F[Origen real + scripts:<br/>el marco puede eliminar su propio<br/>sandbox = escape]
E --> G[Anadir CSP: cabecera sandbox<br/>origen aparte = defensa en profundidad]● Ejemplos
- 01
<iframe src="/preview" sandbox="allow-scripts"></iframe> para renderizar de forma segura HTML no confiable.
- 02
Incrustar un widget de terceros con sandbox="" para negar todas las capacidades.
● Preguntas frecuentes
¿Qué es Atributo sandbox de iframe?
Atributo HTML que aplica restricciones adicionales al contenido de un iframe, bloqueando scripts, formularios, navegacion y acceso same-origin salvo que se reactiven explicitamente. Pertenece a la categoría de Seguridad de aplicaciones en ciberseguridad.
¿Qué significa Atributo sandbox de iframe?
Atributo HTML que aplica restricciones adicionales al contenido de un iframe, bloqueando scripts, formularios, navegacion y acceso same-origin salvo que se reactiven explicitamente.
¿Cómo defenderse de Atributo sandbox de iframe?
Las defensas contra Atributo sandbox de iframe combinan habitualmente controles técnicos y prácticas operativas, como se detalla en la definición.