v149 · Security · demo
Filter Security Demo
SVG filters on cross-origin restricted iframes and plugins were a visual side-channel attack vector. Chrome 149 closes this by disabling those filters. Explore how the attack worked and what changed.
Before vs After
SVG feBlend / feColorMatrix filters could be applied to cross-origin iframes. An attacker could measure per-pixel render timing differences caused by the filter computation — leaking private content from the embedded page.
The timing of "how long the GPU took to process this filter" correlated with pixel brightness, reconstructing image data byte by byte.
Chrome 149 disables SVG filter effects on iframes that have sandbox without allow-same-origin, or cross-origin iframes without explicit CORS permissions. The filter property is silently ignored.
Same-origin iframes and CORS-enabled cross-origin resources are unaffected — only restricted/untrusted contexts lose filter support.
Attack Animation
A simulation of how SVG filter timing side-channels could reconstruct pixel data from a cross-origin frame, one pixel at a time.
Filter context checklist
Which contexts allow or block SVG filters in Chrome 149+:
<iframe>
Full filter support — same security origin, no side-channel risk.
allow-same-origin sandbox flag
Explicit opt-in to same-origin treatment — filters permitted.
<div>, <img>, same-origin content)
Filters unchanged — only cross-origin restricted contexts are affected.
<iframe sandbox> without allow-same-origin
Blocked in Chrome 149 — filter timing side-channel risk.
<embed>, <object>) rendering cross-origin content
Blocked — same class of side-channel attack applies.