Skip to content

lockdown option to restore unsafe realm global check in scope terminator #2771

Open
@mhofman

Description

@mhofman

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions