archives

« Bugzilla Issues Index

#1075 — ES5 forgot to specify safe .caller and .arguments behaviors for built-in functions


ES5 was only careful for three categories of functions: strict, non-strict, and bound, all of which were specified to enable an SES initialization to secure the realm for ocap safety. However, ES5 forgot to do so for built-in functions, and some allowed implementations in the past were not practically securable for this reason: they had the old magic behavior *and* were not deletable.

There's another leak as well: [[Get]] on non-strict functions were specified not to reveal a strict caller. But we forgot to specify that it couldn't reveal a built-in or bound caller.


fixed in rev34 editor's draft

paragraph one has was addressed a long time ago

in rev34 modified 9.2.1 such that all callables, except for sloppy mode ES functions are censored.


fixed in rev34


See https://bugs.ecmascript.org/show_bug.cgi?id=1223