← All reports
16 picks from 453 commits
2026-09-12 – 18

This Week in WebKit — April 27 - May 3, 2026

453
Total commits
14
Security fixes
1 High, 5 Medium analysed in depth; 8 further triaged above
99
Contributors
Top components WebCore · WebKit · Other · JSC · Platform

Featured

Security fixes

Notable development

Other security-relevant changes

  • [JSC Wasm] (race condition, UAF) b9d4779 — Adds cross-modifying-code fence to finalizeWasmCalleeCleanup to ensure the current thread observes all patched callsites, preventing stale invocation of freed BBQCallees. Theoretical issue; untested.
  • [WebKit Mac accessibility] (UAF) 430a7b5 — Accessibility wrapper returned as raw pointer was freed when its last strong reference (AXIsolatedTree) went out of scope, before AppKit could retain it. Fix wraps the wrapper in RetainPtr::autorelease() to extend its lifetime.
  • [WebKit UIProcess speech recognition] (hardening) 49e046b — Added bounds validation for numberOfFrames in speech recognition IPC handler, preventing untrusted WebContent from triggering unbounded audio buffer allocation in the privileged UI process.
  • [WebCore WebGL] (incorrect state) b871911 — Fixes premultiplication-status handling regression in WebGL texture uploads by resolving the status at the call site instead of during framework initialization.
  • [WebKit NetworkProcess / WebSocket] (same-site bypass) c876f70 — WebSocket tasks never set _siteForCookies, so CFNetwork attached all matching cookies regardless of SameSite attribute. Fix calls updateTaskWithFirstPartyForSameSiteCookies() on WebSocket tasks at creation, restoring same-site cookie filtering and CSRF protections.
  • [WebCore ControlFactory] (hardening) 9289509 — Fixed GPU process crash from destroying ControlFactoryMac's cached AppKit NSCell instances off the main thread when the owning RemoteGraphicsContext was destroyed on a work queue. Ensured ControlFactory destruction runs on the main run loop to prevent thread-unsafe deallocation.
  • [WebCore FloatingObjects] (stale state) 5de3fda — Removes stale floats from the suspended list when discarding line content, preventing double-positioning. Adds placeFloatingBox() to properly re-key the spatial tree when updating a float's position.
  • [WebKit NetworkProcess WebTransport] (proxy bypass) d7912bc — WebTransport connections weren't marked with application identifiers or tracker status, preventing correct routing—connections that should be proxied could go direct. Patch reuses WebRTC helpers with new IsRTC parameter to gate RTC-specific behavior.