zakariaridouh
WebKit security specialist
Summary
Works primarily in the WebKit process-model layer — CoreIPC message handling, Site Isolation, and the UIProcess/GPUProcess boundary — interleaved with a steady stream of CMake build fixes and git-webkit tooling changes. The security and hardening commits cluster on a single theme: distrusting WebContent-supplied data at the process boundary, via sender-identity validation in per-page media and fullscreen managers, consolidated NetworkProcess cookie IPC authorization, a process assertion on CloneDeserializer, and stripping process-qualified media identifiers out of cross-process payloads. The audit angle: UIProcess and GPUProcess entry points that decode or deserialize WebContent-controlled input without a matching sender check — the unrestricted ImageIO decode fix marks one such path, and sibling decoders reachable from the same IPC surface are the obvious next sweep.
Components
Security Fix History
- 2026-09-18 [CoreIPC] [UIP] UIProcess decodes WebContent-supplied image bytes with the unrestricted ImageIO codec set 2026-W37
- 2026-09-18 [macOS] GPU process crash in NSSearchFieldAquaduckVisualProvider.__ivar_destroyer under ~ControlFactoryMac ·
- 2026-08-23 [IFC] Do not leave stale display content when partial merge fails in InlineContentBuilder
- 2026-07-07 [CoreIPC] [GPUP] Nested DrawDisplayList Replay Falls Back to ControlFactory::singleton() Leads to Concurrent NSCell UAF 2026-W27
- 2026-07-03 [CoreIPC] [GPUP] FEComponentTransfer CoreImage Metal kernel can read past bounds with empty tableValues ·
- 2026-07-02 Fix Cross-thread use-after-free in RemoteScrollingTree::m_progressBasedTimelineRegistry ·
- 2026-07-02 [WebGPU] PipelineLayout::makeInvalid leaves m_bindGroupLayouts engaged, causing GPU OOB ·
- 2026-07-02 Heap use-after-free of XSLStyleSheet::m_stylesheetDoc after libxslt frees imported doc on compile failure ·
- 2026-06-30 [CoreIPC] [NP] Heap UAF in WebCore::IDBServer::MemoryIndexCursor reverse iterator when a Prev/Prevunique cursor's next-h ·
- 2026-06-30 Uninitialized-heap disclosure in convertImagePixelsFromFloat16ToFloat16 via color-space early-return ·
Hardening Commits
- 2026-09-03 CloneDeserializer should assert it is only used in the WebContent process
- 2026-08-05 [Site Isolation] Validate sender identity in per-page media and fullscreen managers
- 2026-08-04 [Site Isolation] Don't send process-qualified media identifiers in the layer tree or text recognition
- 2026-05-15 [MTE] Harden `WebCore::Color` and `WebCore::Color::OutOfLineComponents` objects 2026-W19
- 2026-04-22 [MTE] Harden FairPlay code by using static string storage for CDMInstanceFairPlayStreamingAVFObjC keySystem identifier
- 2026-04-18 [GPU Process] Tighten security around caching AudioDestination
- 2026-04-18 [GPUP] Improve worker thread assertions in RemoteRenderingBackend
- 2026-04-17 [MTE] Harden WebCore::ThreadTimerHeapItem and WTF::CompactPointerTuple
Recent Commits
- 2026-09-18 [CoreIPC] [UIP] UIProcess decodes WebContent-supplied image bytes with the unrestricted ImageIO codec set 2026-W37
- 2026-09-18 [macOS] GPU process crash in NSSearchFieldAquaduckVisualProvider.__ivar_destroyer under ~ControlFactoryMac ·
- 2026-09-09 [Site Isolation] [iOS] File picker menu is anchored to the bottom of the screen in a cross-origin iframe
- 2026-09-04 Null-check history items in history dumping testing code
- 2026-09-03 [CMake] Speed up warm builds by removing CCACHE_CONFIGPATH, which points at a file that was never added
- 2026-09-03 CloneDeserializer should assert it is only used in the WebContent process
- 2026-09-01 [CMake] WebKitLegacy should not link libPAL.a
- 2026-09-01 [Site Isolation] Zoom-to-reveal mispositions the focused element when the selection is in a cross-origin iframe
- 2026-08-25 [git webkit] prepare-commit-msg fails to amend when the checkout is older than the installed hook
- 2026-08-23 [IFC] Do not leave stale display content when partial merge fails in InlineContentBuilder
- 2026-08-20 [CMake][iOS] Let Platform.h own the Cocoa features it already derives
- 2026-08-20 [CMake] Fix the iOS simulator build
- 2026-08-18 Return a digest instead of the Cookie header for Vary: Cookie validation
- 2026-08-18 Keep observed nodes alive across MutationObserver delivery
- 2026-08-17 git-webkit does not sort or update the Tests: section of a commit message