roberto-apple
WebCore security specialist
Summary
Primarily WebCore, split between Content Security Policy enforcement and the ANGLE/Metal WebGL backend, with adjacent Platform and Site Isolation work. The security fixes cluster tightly around CSP inheritance into contexts that don't carry their own headers — SharedWorkers from headerless URLs, blob: URLs with multiple CSP headers, WorkletGlobalScope, opaque-origin documents — alongside directive-matching bugs like strict-dynamic hash matching on external scripts and script-src/connect-src confusion for JSON module imports; the remainder are Metal-backend memory errors (stale imageDef on texture redefinition, OOB vertex attribute offsets, a missing objectGraphLock racing GC on context restore). Systematic-variant candidate: the CSP inheritance path for every remaining derived-context type that inherits policy rather than parsing it — the same class of bug has surfaced repeatedly across different global-object constructions here.
Components
Security Fix History
- 2026-07-18 CSP matches a script's content hash even for external scripts under strict-dynamic 2026-W29
- 2026-07-01 Clear stale imageDef in TextureMtl::redefineImage fast path ·
- 2026-07-01 [WebGL] Missing objectGraphLock on WebGL context restore races with GC ·
- 2026-06-14 Propagate CSP directives from the creating document to WorkletGlobalScope ·
- 2026-06-11 Inherit creating document's CSP for SharedWorkers loaded from headerless URLs ·
- 2026-06-11 Fix CSP policy loss in blob: URL inheritance when page sends multiple CSP headers ·
- 2026-06-10 Fix CSP 'self' source matching for opaque-origin documents ·
- 2026-06-04 CSP sandbox does not prevent cross-document view transition state transfer 2026-W22
- 2026-06-04 Masonry fieldset legend passes isSubgrid() despite being excluded from parent grid 2026-W22
- 2026-05-27 [ANGLE] Metal backend: Fix crash on OOB vertex attribute offset in syncDirtyAttrib
Hardening Commits
Recent Commits
- 2026-08-06 Unreviewed, reverting 318592@main (6a65f66c4bd1)
- 2026-08-05 Re-import content-security-policy/script-src
- 2026-08-04 Update ANGLE to 2026-07-06 (1dec433b7f49fe232f1098c7e43fdaf17149bea7)
- 2026-08-01 Re-import content-security-policy/inheritance
- 2026-07-30 [ANGLE] Correctly rewrite nested interpolateAtOffset offsets
- 2026-07-29 Re-import content-security-policy/connect-src
- 2026-07-28 [ANGLE] Copy angle_end2end_tests_expectations.txt to build output folder
- 2026-07-21 [ANGLE] Skip ANGLE test suite failing/crashing tests
- 2026-07-18 CSP matches a script's content hash even for external scripts under strict-dynamic 2026-W29
- 2026-07-14 [ANGLE] Fix WebGL out/inout shaders failing to compile on newer Metal
- 2026-07-01 Preloaded module scripts are blocked under a strict-dynamic CSP
- 2026-07-01 Clear stale imageDef in TextureMtl::redefineImage fast path ·
- 2026-07-01 [WebGL] Missing objectGraphLock on WebGL context restore races with GC ·
- 2026-06-30 Lowercase CSP directive names eagerly
- 2026-06-24 Same-page navigations should not be checked against CSP