CVE-2026-73083
V8 Isolate Sandbox Bypass via importFresh Module Loading
01Record
| Identifier | CVE-2026-73083 |
|---|---|
| Project | Activepieces |
| Component | importFresh() |
| CWE | CWE-696 |
| CVSS | 7.6 |
| Disclosed | 2026-07-17 |
| Endor reference | ENDOR-VUL-2026-3003 |
| Writeup | Link |
02Detail
Description: A user's Code step is TypeScript, compiled by bun build --target node --format cjs into a CommonJS module. Under SANDBOX_CODE_ONLY, importFresh() (a require() wrapper) runs the module body in the host Node process during the module-loading phase, before .toString() on the exported function ever reaches the V8 isolate. The isolate is real and the code never has to enter it: everything at module top level has already executed outside. Affects Activepieces through 0.79.4.
Impact: Complete sandbox bypass with code execution in the host engine process, exposing AP_ENCRYPTION_KEY and AP_JWT_SECRET. With both, an attacker decrypts stored connection credentials and forges admin tokens without escalating further.
Fixed in 0.80.0 (2026-03-31): module source is now evaluated inside the isolate, where require is unbound and raises a ReferenceError. Operators should also stop sharing LIB_PATH across runs and use a fresh per-run lib tree. This is the same ordering mistake as the Dify preload finding in ENDOR-VUL-2026-0105, one layer up the stack. Full analysis is in the technical whitepaper.
Discovered by Peyton Kennedy (p80n), Aviral2642, q1uf3ng.