heimskr

JSC security specialist

58 commits (10mo)
27 security fixes
1 hardening
View all commits on GitHub ↗

Summary

heimskr works almost entirely inside JavaScriptCore, split between the tiered JIT (DFG fixup and strength reduction, FTL OSR exit, OMG/B3, YarrJIT) and non-security feature work — Explicit Resource Management, Joint Iteration, RegExp Buffer Boundaries, and a rewritten test262 runner. The security fixes are overwhelmingly optimizer-invariant failures, where a flag or piece of metadata stops holding once a transform runs: NodeMustGenerate cleared on overflow-checked ArithAdd/ArithSub, `usesSIMD()` unset when OMG inlines a SIMD callee into a non-SIMD root, DataFormatStorage unhandled during OSR-exit reboxing, a Yarr backtrack trampoline missing its additional-read-size adjustment; a smaller but distinct cluster covers stale structure and IC state in property access (absence conditions ignoring non-reified static tables, shadowed custom accessors on flattened dictionaries, a stale structure bit in SlowPutArrayStorage). Systematic-variant candidate: the "analysis result not propagated across an inlining or lowering boundary" shape, especially against the recently landed global inlining planner and priority-queue inliner, which widen the set of call sites where those propagation assumptions have to hold.

Components

JSC
85%
Other
7%
WebCore
5%
WTF
2%
bmalloc
2%

Security Fix History

1 / 3

Hardening Commits

Recent Commits

1 / 4

← All Contributors