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

  1. 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.

  2. Clickjacking Replay

    A reduced version of the lyra.horse SVG-filter clickjacking attack. A feDisplacementMap is aimed at two iframes — same-origin and cross-origin — to show what's now blocked at the security boundary.

  3. 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.

  4. 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.

  5. Origin Trust Ladder

    A ranked table of every origin type — same-origin, cross-origin, sandboxed, data:, srcdoc, null — showing whether SVG filters, CSS filters, and backdrop-filter are 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.

  6. 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 feColorMatrix and feDisplacementMap to 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.

    Canvas Security Sidechannel

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.

references