demo ยท v135
Per-origin processes shrink the Spectre blast radius
The motivation for tightening process isolation from site to origin: a Spectre-style speculative-execution leak can read any memory in the renderer process. Pre-135, every same-site origin (foo.example.com, bar.example.com) could land in the same process, so a malicious subdomain could leak data from a sibling. Chrome 135 locks each origin to its own process. The demo below shows the new crossOriginIsolated probe plus opting in via the Origin-Agent-Cluster: ?1 response header.
crossOriginIsolated: ?
originAgentCluster: ?
site-keyed (pre-135 default)
// foo.example.com and bar.example.com // share a process. Spectre in either // origin can read the other's memory.
origin-keyed (135+)
// foo.example.com and bar.example.com // get separate processes by default. // Cross-origin reads are blocked at // the OS level, not just the renderer.
the opt-in
HTTP/1.1 200 OK
Content-Type: text/html
Origin-Agent-Cluster: ?1
// In page JS:
console.log(window.originAgentCluster); // true
console.log(self.crossOriginIsolated); // sometimes also true
see also
scenario focus
Select a scenario to focus its rendered example and summary.