Mozilla Foundation Security Advisory 2008-43

BOM characters, low surrogates stripped from JavaScript before execution

Announced
September 23, 2008
Reporter
Dave Reed, Chris Weber, Gareth Heyes
Impact
Moderate
Products
Firefox, SeaMonkey, Thunderbird
Fixed in
  • Firefox 2.0.0.17
  • Firefox 3.0.2
  • SeaMonkey 1.1.12
  • Thunderbird 2.0.0.17

Description

Microsoft developer Dave Reed reported that certain BOM characters are stripped from JavaScript code before it is executed. This can lead to code, which would otherwise be treated as part of a quoted string, to be executed. The issue could potentially be used by an attacker to bypass or evade script filters and perform a cross-site scripting (XSS) attack. Chris Weber of Casaba Security independently reported the same issue, noting that the same parsing problem affected other attributes, such as the -moz-binding style property, that could also be used to perform XSS attacks.

Security researcher Gareth Heyes reported an issue with the HTML parser in which the parser ignored certain low surrogate characters if they were HTML-escaped. This issue could potentially be used to bypass naive script filtering and used in an XSS attack. This issue only affected Firefox 2.

Thunderbird shares the browser engine with Firefox and could be vulnerable if JavaScript were to be enabled in mail. This is not the default setting and we strongly discourage users from running JavaScript in mail. Without further investigation we cannot rule out the possibility that for some of these an attacker might be able to prepare memory for exploitation through some means other than JavaScript such as large images.

Workaround

Disable JavaScript until a version containing these fixes can be installed.

References