v150 · security
Disable SVG filters on plugins and iFrames
SVG filters can no longer be applied to embedded plugins (PDFs) or to cross-origin / sandboxed iframes. When the renderer would paint such a frame with an SVG filter, it walks up the effect tree, finds the highest ancestor without filters, and applies that effect instead — leaving the embedded content unfiltered.
concepts
-
Filter Comparison
Two iframes side by side, one same-origin and one cross-origin, both inside a div with an SVG filter applied. Before v150, both received the filter; after, only the same-origin frame does.
-
Clickjacking Replay
A reduced version of the lyra.horse SVG-filter clickjacking attack. A
feDisplacementMapis aimed at two iframes — same-origin and cross-origin — to show what's now blocked at the security boundary. -
Sandbox Filter Test
Apply CSS filters interactively to a container holding both a same-origin and a sandboxed frame. Select between CSS shorthand filters (still allowed) and SVG
url(#id)filters (blocked in Chrome 150) and see the status matrix update live. -
SVG Filter Policy Tester
A matrix of six iframe configurations — same-origin, cross-origin with/without CORS, sandboxed, cross-origin sandboxed, and sandboxed with
allow-same-origin. For each, test SVG vs. CSS filters live, see the policy rule behind the decision, and get recommended workarounds. -
Origin Trust Ladder
A ranked table of every origin type — same-origin, cross-origin, sandboxed,
data:,srcdoc, null — showing whether SVG filters, CSS filters, andbackdrop-filterare allowed, blocked, or partial under Chrome 150. Hover any row for the security rationale; switch between filter types to see how only SVG filters are restricted while CSS and backdrop filters pass through. -
Pixel Sidechannel Demo
A step-by-step explanation and live visualisation of the pixel extraction attack that SVG filters made possible on cross-origin iframes. An interactive canvas demo applies
feColorMatrixandfeDisplacementMapto same-origin content, showing how pixel colour changes reveal hidden data — then explains why Chrome 150's compositor blocks this sidechannel at the cross-origin boundary.
why it shipped
SVG filters operate on the pixel data of what they cover, which means they can sample colour information from inside an embedded document. That opens a sidechannel for cross-origin pixel reads: by applying a filter to a cross-origin iframe and observing the rendered output, an attacker could leak colour data and reconstruct text or images they shouldn't have access to. The fix is straightforward — filters stop at the boundary of any content the calling page isn't allowed to read directly.