This Week in WebKit — July 18 - July 24, 2026
Featured
Strict-dynamic hashes an inline script's known body — but what if the body is an external file that never loaded? On the right policy, HTML injection turns into same-origin script execution.
A descriptor's shape isn't proof it's an object — yet the fold emitted an unchecked load anyway. undefined gets dereferenced as a cell, and a controlled read is one merged immediate away.
Move a display-list buffer between two GPU-process backends and both threads race the same refcount. Whoever loses drops a still-live Font — a use-after-free one step inside the graphics sandbox.
Saturate the canvas save-stack and the next save() quietly does nothing — including the one a filtered draw's scope guard counted on. That draw runs against a context it just freed.