atar13
Site Isolation security specialist
Summary
atar13 works primarily on Site Isolation — cross-process iframe and popup lifecycle (stale layer hosting after process swaps, null `window.opener` after a popup process-swaps, storage-access revocation on cross-origin navigation) — with a secondary line in WebCore media and ongoing maintenance of the SaferCPP static-analysis build tooling (`-fexperimental-bounds-safety-attributes`, late-parse attributes, EWS build fixes). The security fixes cluster tightly in WebAudio object lifetime and threading — pinning `AudioBuffer` data in `AudioBufferSourceNode::setBufferForBindings`, taking `graphLock()` in `BiquadFilterNode::setType()`, `WeakPtr` capture in an `ArtworkImageLoader` callback — with a separate strand of cross-origin information-leak work (async load-event firing to block iframe URL guessing, IndexedDB version-change transaction rejection). Systematic-variant candidate: the WebAudio node graph, where the unlocked-setter and unpinned-buffer patterns are likely to recur across other `AudioNode` subclasses.
Components
Security Fix History
- 2026-07-03 [WebCore] Unconditionally pin AudioBuffer data in AudioBufferSourceNode::setBufferForBindings 2026-W26
- 2026-06-30 [WebCore] Capture WeakPtr to this (MediaMetadata) in ArtworkImageLoader callback ·
- 2026-06-30 [WebCore] Take graphLock() in BiquadFilterNode::setType() to avoid race ·
- 2026-06-30 Reject IndexedDB transactions during version change operation ·
- 2026-06-30 Fire async load event to prevent guessing a cross-origin iframe's URL ·
- 2026-05-21 Don't call document->removeAudioProducer during Document destruction 2026-W20
- 2026-05-05 [WebCore] Check for liveliness before dereferencing m_document WeakPtr in DocumentThreadableLoader 2026-W18
- 2026-03-03 [JSC] Modifying storage in OrderedHashTableHelper should DeferTerminationForAWhile
Hardening Commits
- No hardening commits recorded
Recent Commits
- 2026-08-07 [Site Isolation] Stale iframe layers are left hosted after a cross-process navigation
- 2026-07-29 Digital Credentials: Remove request info backed ISO 18013 request construction
- 2026-07-21 [Site Isolation] window.opener is null after a window.open() popup process-swaps to an empty site
- 2026-07-21 [Site Isolation] remove storage access on commit
- 2026-07-17 [Site Isolation] cross-origin tests in http/tests/security/webaudio-render-remote-audio-* are failing
- 2026-07-13 github.com: Safari does not scroll to the GitHub issue comment when opening a link (worse than Chrome)
- 2026-07-09 build-and-analyze: Add -fexperimental-bounds-safety-attributes flag
- 2026-07-03 [WebCore] Unconditionally pin AudioBuffer data in AudioBufferSourceNode::setBufferForBindings 2026-W26
- 2026-06-30 [WebCore] Capture WeakPtr to this (MediaMetadata) in ArtworkImageLoader callback ·
- 2026-06-30 [WebCore] Take graphLock() in BiquadFilterNode::setType() to avoid race ·
- 2026-06-30 Reject IndexedDB transactions during version change operation ·
- 2026-06-30 Fire async load event to prevent guessing a cross-origin iframe's URL ·
- 2026-06-26 build-and-analyze: Add option to enable -fexperimental-late-parse-attributes
- 2026-06-24 SaferCPP EWS is not building
- 2026-06-24 Enable -fexperimental-late-parse-attributes on build-and-analyze with compiler caching disabled