Open
Description
What is the Problem Being Solved?
#2743 made the scope terminator more strict disallowing any lookup to fall out, as a remediation for GHSA-h9w6-f932-gq62. However this breaks some use cases that relied on getting a ReferenceError
for unknown binding (that aren't properties present on the realm's globalThis
).
As such we traded better integrity / confidentiality for reduced fidelity of the ses shim, but some use cases may want to opt into the less safe previous behavior, e.g. if they only run on Node.js which does not introduce global lexicals.
Description of the Design
A lockdown option for an unsafe scope terminator.
Security Considerations
Since this affect the integrity of the realm, it must be a global lockdown option, and clearly be marked unsafe.
Compatibility Considerations
Restores compatibility with ses < 1.12 as an opt-in