Status: New
Owner: ----

New issue 981 by [email protected]: Primordial privilege escalation from bad this-coercion
http://code.google.com/p/v8/issues/detail?id=981

To avoid privilege escalation bugs by global object leakage, ES5 repaired Ch15 to coerce the this-bindings of its methods by "ToObject". Thus, primitive values wrap but null and undefined throw an exception instead. For example, 15.4.4.10 Array.prototype.slice step 1 says:

1. Let O be the result of calling ToObject passing the this value as the argument.

However, on Minefield 4.0b8pre (2010-12-14)

  window[0] = 'a';
  window[1] = 'b';
  window[2] = 'c';
  window.length = 3;
  [].slice.call(null, 0); // prints a,b,c

showing that slice still leaks access to the global object.

I am not checking the "Many users could be harmed by this security problem: it should be kept hidden from the public until it is resolved." box below because FF4 is not yet released so there's time to fix this before people can be harmed by this problem.

See also https://bugzilla.mozilla.org/show_bug.cgi?id=619283

--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

Reply via email to