This Week in WebKit — July 04 - July 10, 2026
Featured
A compromised renderer could name a file:// path or borrow a victim's cookie first-party. The NetworkProcess trusted both — the question is how far the loader carries them.
A weak-pointer glyph cache trusted every producer to keep its own fonts alive. The complex-script path didn't, and a font purge does the rest.
Only the destructor ever cleared a raw back-pointer — but a script-held animVal can outlive its owner, and the destructor never runs. Then a value read walks freed memory.
The GPU process moved control rendering off a shared singleton to keep its threads apart. A display list nested inside a display list quietly reached back for it.
A duplicate CreateAudioSourceProvider overwrites callbacks a real-time audio thread is still running. Whose reference gets dropped mid-use?
Security fixes
-
ANGLE Metal dangling mOcclusionQuery on failed begin
Medium ANGLE Metal backend (occlusion query)
Other security-relevant changes
- [WebKit Networking] (hardening)
cf2d405— Hardens validation in loadImageForDecoding by sourcing firstPartyForCookies from authoritative mainFrameURL instead of client-controlled state, preventing network process crashes when called before navigation or with invalid mainDocumentURL. - [Websites / PrettyPatch] (hardening)
dcb203f— Added base85 decoder and 50MB size limit to PrettyPatch for handling git binary image diffs; hardens patch display on bugs.webkit.org tooling.