HeadlinesBriefing favicon HeadlinesBriefing.com

Epsilon Runtime Exposes WASM Sandbox Escapes in Go

Hacker News •
×

Go developer C. shaped a lightweight WASM runtime, Epsilon, in 2025. The 11k‑line interpreter eschews JIT and relies on a validator to enforce type safety. Designed for embedding, it lets modules run in isolation. When AI‑driven fuzzing hit the code last year, it uncovered more than twenty vulnerabilities. These flaws ranged from DoS attacks to escapes that could breach boundaries.

Epsilon maps funcref as 32‑bit indices in a global store, treating –1 as null. The shortcut removes runtime checks but conflates zero with a valid pointer. During initialization, clearing locals zeroed them to 0, which the interpreter interpreted as a reference to the first function. A benign call therefore became a covert jump into another module’s state within the runtime.

The discovery spurred a patch that re‑initializes locals with explicit null and corrects stack‑height recording for control frames. After the fix, the two most dangerous exploits—zero‑is‑not‑null and phantom block parameter—no longer succeed. The episode underscores how subtle implementation choices in a sandbox can undermine isolation, reminding developers that even small runtime shortcuts can become critical attack vectors for security teams at all levels.