« 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