Mozilla Foundation Security Advisory 2014-91

Privileged access to security wrapped protected objects

December 2, 2014
Bobby Holley
Firefox, SeaMonkey
Fixed in
  • Firefox 34
  • SeaMonkey 2.31


Mozilla developer Bobby Holley discovered two issues involving security wrappers.

The first of these issues occurs when XrayWrappers filter object properties. When validation of the object initially occurs, one set of object properties will appear to be available. Later, when the XrayWrappers are removed, a more expansive set of properties is available. These are then stored without further validation, making these properties available and bypassing security protections that would normally protect them from access.

The second issue occurs when chrome objects are protected by Chrome Object Wrappers (COW) and are passed as native interfaces. If this is done with some methods, normally protected objects may be accessible to native methods exposed to web content.

Both of these issues could allow web content to access DOM objects that are intended to be chrome-only.