ruthvikkonda
WebCore security specialist
Summary
Primarily WebCore and WebGPU, with a recurring line of IPC plumbing work — bridging Swift message receivers into the stream IPC layer — alongside a steady stream of janitorial unused-include removals across model, WebXR, and WebGPU code. The security fixes cluster tightly in the GPU process trust boundary: rejecting duplicate IPC messages (RemoteMediaPlayerProxy audio source provider creation, duplicate bind group entries in `Device::createBindGroup`), state that fails to reset between command buffers, and a cross-thread RefCounted race from sharing an audio curve object across threads. Systematic-variant candidate: the "duplicate IPC message should be rejected" and "per-command-buffer state not cleared" shapes both recur here, so sibling WebGPU and RemoteMediaPlayer entry points that assume once-only invocation or per-submission state reset are the natural sweep.
Components
Security Fix History
- 2026-07-06 RemoteMediaPlayerProxy::createAudioSourceProvider should reject duplicate IPC 2026-W27
- 2026-07-02 [WebCore] Store WaveShaperProcessor curve as Vector<float> to avoid cross-thread RefCounted race ·
- 2026-07-02 [WebGPU] Per-buffer m_mustTakeSlowIndexValidationPath cleared between command buffers leads to GPU OOB vertex fetch ·
- 2026-07-01 Dynamic content scaling display lists should not be requested while preparing for display ·
- 2026-06-29 [WebGPU] Reject duplicate binding entries in Device::createBindGroup ·
- 2026-05-01 ANGLE: Metal: Add zero-init return for functions missing return statements 2026-W17
- 2026-04-29 ANGLE: Metal: Initialize missing fragment shader output components 2026-W17
- 2026-04-28 WebGL provoking vertex with uint16 primitive restart causes GPU OOB access 2026-W17
- 2026-04-23 Surfaces should not be marked volatile while preparing for display 2026-W16
- 2026-03-12 [WGSL] Override validation crashes when expression is wrapped in __pack by GlobalVariableRewriter 2026-W10
Hardening Commits
- No hardening commits recorded
Recent Commits
- 2026-08-06 [model] Remove unused <limits> include in LazyLoadModelObserver
- 2026-08-05 [WebGPU] Remove unused WebGPUDowncastConvertToBackingContext.h include in WebGPUImpl
- 2026-08-05 Swift IPC message receivers cannot be annotated with EnabledBy
- 2026-07-29 [WebXR] Remove unused Scope.h include in WebXRWebGLLayer
- 2026-07-29 Stream IPC message receivers can dispatch synchronous messages to Swift
- 2026-07-27 Stream IPC message receivers can call directly into Swift
- 2026-07-24 [model] Remove unused GraphicsLayerCA.h include in HTMLModelElement
- 2026-07-23 [WebXR] Remove unused WebXRView.h include in WebXRSession
- 2026-07-21 [model] Remove unused Color.h include in ModelPlayer
- 2026-07-17 [WebGPU] Remove unused WebGPUAdapterImpl.h include in WebGPUCreateImpl
- 2026-07-14 [WebXR] Remove unused Gamepad.h include in WebXRGamepad
- 2026-07-10 [WebGPU] Remove unused WebGPUTextureDescriptor.h include in WebGPUPresentationContextImpl
- 2026-07-09 [WebGPU] Remove duplicate no-op m_swapChain = nullptr in PresentationContextImpl::unconfigure
- 2026-07-09 PlaceholderModelPlayer camera and animation methods do not call their completion handlers
- 2026-07-08 Use protect() instead of Ref/RefPtr { } in mediasource code