kmiller68
JSC security specialist
Summary
Works primarily in JavaScriptCore — Wasm (validation, JIT callee publication, calling-convention register handling) and DFG OSR availability — with a secondary line in CMake and build configuration, including warning enablement across the Cocoa ports. The security-relevant commits split into two themes: GC lifetime correctness (a missing write barrier in `Array.unshift`, weak-reference handling for DeferredWorkTimer tickets and swapped JSString impls under `GCOwnedDataScope`, JSDOMException stack-trace reconciliation) and Wasm validator type widening, where same-day fixes covered block types, `delegate`, and unreachable `end` ops. Systematic-variant candidate: the widening cluster reads as a sweep of the unreachable-code path in Wasm validation rather than a one-off patch, so remaining opcodes that terminate or rethread control flow are the natural place to keep pulling.
Components
Security Fix History
- 2026-09-18 OpaqueJSClass should retain/release the parent JSClassRef when provided 2026-W37
- 2026-09-18 finalizeWasmCalleeCleanup should run a cross-modifying code fence ·
- 2026-08-28 OSR Availability Fails to Invalidate Local Recoveries Across LoadVarargs 2026-W34
- 2026-08-28 [Wasm] Argument and Result block types should always widen 2026-W34
- 2026-08-28 [Wasm] Exclude wasmBoundsCheckingSizeRegister from the callee saves restored 2026-W34
- 2026-08-28 [Wasm] Delegate should widen types like End 2026-W34
- 2026-08-28 [Wasm] Unreachable end ops don't widen result types 2026-W34
- 2026-08-27 JSDOMException is not reconciling it's weak stack trace ·
- 2026-08-07 Add missing writeBarrier to Array.unshift 2026-W31
- 2026-07-12 RegExpStringIterator next can't use SpecObjectOther type check filtering 2026-W28
Hardening Commits
- 2026-09-18 finalizeWasmCalleeCleanup should run a cross-modifying code fence ·
- 2026-08-26 Make ScopedLambda non-moveable
- 2026-08-24 Clean up ScopedLambda API for modern C++
- 2026-08-07 Add missing writeBarrier to Array.unshift 2026-W31
- 2026-05-19 [JSC] ScopedArgumentsTable ScopeOffset buffer should allocate from fastMalloc 2026-W20 CVE-2026-64757
- 2026-05-01 [IPInt] Plan should have a RefPtr to the callees
Recent Commits
- 2026-09-18 OpaqueJSClass should retain/release the parent JSClassRef when provided 2026-W37
- 2026-09-18 finalizeWasmCalleeCleanup should run a cross-modifying code fence ·
- 2026-09-16 Add note to ConstraintConcurrency
- 2026-09-16 loadLoadFence should use dmb ishld
- 2026-09-16 Pass -fwrapv by default
- 2026-09-14 [JSC] StructuredCloning code should include ArrayBuffers
- 2026-09-01 [CMake] Add missing RunJavaScriptResult.swift source
- 2026-09-01 [CMake] Enable -Werror globally in DEVELOPER_MODE
- 2026-08-31 [CMake] Enable Thread/Unsafe Buffer Warnings on Cocoa Ports
- 2026-08-28 OSR Availability Fails to Invalidate Local Recoveries Across LoadVarargs 2026-W34
- 2026-08-28 [Wasm] Argument and Result block types should always widen 2026-W34
- 2026-08-28 [Wasm] Exclude wasmBoundsCheckingSizeRegister from the callee saves restored 2026-W34
- 2026-08-28 [Wasm] Delegate should widen types like End 2026-W34
- 2026-08-28 [Wasm] Unreachable end ops don't widen result types 2026-W34
- 2026-08-27 JSDOMException is not reconciling it's weak stack trace ·