You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Although SES is vulnerable to all code that runs before it, and possibly some vetted shims that run after it initializes but before lockdown, SES attempts to protect itself from poisoned intrinsics by capturing original constructors, prototypes, and uncurried methods in commons.js. We should have a lint rule specifically for the SES repository to encourage use of the exports of commons.js over reaching for these possibly poisoned globals.
One possible solution is to add lint rules that disallow polymorphic method calls / dynamic dispatch vigorously, then make more use of uncurryThis.
The text was updated successfully, but these errors were encountered:
kriskowal
changed the title
Add lint rules to protect against poisoned intrinsics in SES
Host code in start compartment can corrupt SES between initialization and lockdown
Aug 13, 2021
Although SES is vulnerable to all code that runs before it, and possibly some vetted shims that run after it initializes but before lockdown, SES attempts to protect itself from poisoned intrinsics by capturing original constructors, prototypes, and uncurried methods in
commons.js
. We should have a lint rule specifically for the SES repository to encourage use of the exports ofcommons.js
over reaching for these possibly poisoned globals.One possible solution is to add lint rules that disallow polymorphic method calls / dynamic dispatch vigorously, then make more use of uncurryThis.
The text was updated successfully, but these errors were encountered: