Package name mozilla-firefox
Date July 22nd, 2005
Advisory ID MDKSA-2005:120-1
Affected versions 10.2
Synopsis Updated mozilla-firefox packages fix multiple vulnerabilities

Problem Description

A number of vulnerabilities were reported and fixed in Firefox 1.0.5
and Mozilla 1.7.9. The following vulnerabilities have been backported
and patched for this update:

In several places the browser UI did not correctly distinguish between
true user events, such as mouse clicks or keystrokes, and synthetic
events genenerated by web content. The problems ranged from minor
annoyances like switching tabs or entering full-screen mode, to a
variant on MFSA 2005-34 Synthetic events are now prevented from
reaching the browser UI entirely rather than depend on each potentially
spoofed function to protect itself from untrusted events
(MFSA 2005-45; CAN-2005-2260).

Scripts in XBL controls from web content continued to be run even when
Javascript was disabled. By itself this causes no harm, but it could be
combined with most script-based exploits to attack people running
vulnerable versions who thought disabling javascript would protect
them. In the Thunderbird and Mozilla Suite mail clients Javascript is
disabled by default for protection against denial-of-service attacks
and worms; this vulnerability could be used to bypass that protection
(MFSA 2005-46; CAN-2005-2261).

If an attacker can convince a victim to use the "Set As Wallpaper"
context menu item on a specially crafted image then they can run
arbitary code on the user's computer. The image "source" must be a
javascript: url containing an eval() statement and such an image would
get the "broken image" icon, but with CSS it could be made transparent
and placed on top of a real image. The attacker would have to convince
the user to change their desktop background to the exploit image, and
to do so by using the Firefox context menu rather than first saving the
image locally and using the normal mechanism provided by their
operating system. This affects only Firefox 1.0.3 and 1.0.4; earlier
versions are unaffected. The implementation of this feature in the
Mozilla Suite is also unaffected (MFSA 2005-47; CAN-2005-2262).

The InstallTrigger.install() method for launching an install accepts a
callback function that will be called with the final success or error
status. By forcing a page navigation immediately after calling the
install method this callback function can end up running in the context
of the new page selected by the attacker. This is true even if the user
cancels the unwanted install dialog: cancel is an error status. This
callback script can steal data from the new page such as cookies or
passwords, or perform actions on the user's behalf such as make a
purchase if the user is already logged into the target site. In
Firefox the default settings allow only to
bring up this install dialog. This could only be exploited if users
have added questionable sites to the install whitelist, and if a
malicious site can convince you to install from their site that's a
much more powerful attack vector. In the Mozilla Suite the whitelist
feature is turned off by default, any site can prompt the user to
install software and exploit this vulnerability. The browser has been
fixed to clear any pending callback function when switching to a new
site (MFSA 2005-48; CAN-2005-2263).

Sites can use the _search target to open links in the Firefox sidebar.
A missing security check allows the sidebar to inject data: urls
containing scripts into any page open in the browser. This could be
used to steal cookies, passwords or other sensitive data
(MFSA 2005-49; CAN-2005-2264).

When InstallVersion.compareTo() is passed an object rather than a
string it assumed the object was another InstallVersion without
verifying it. When passed a different kind of object the browser would
generally crash with an access violation. shutdown has demonstrated
that different javascript objects can be passed on some OS versions to
get control over the instruction pointer. We assume this could be
developed further to run arbitrary machine code if the attacker can get
exploit code loaded at a predictable address (MFSA 2005-50;

The original frame-injection spoofing bug was fixed in the Mozilla
Suite 1.7 and Firefox 0.9 releases. This protection was accidentally
bypassed by one of the fixes in the Firefox 1.0.3 and Mozilla Suite
1.7.7 releases (MFSA 2005-51; CAN-2005-1937).

A child frame can call top.focus() even if the framing page comes from
a different origin and has overridden the focus() routine. The call is
made in the context of the child frame. The attacker would look for a
target site with a framed page that makes this call but doesn't verify
that its parent comes from the same site. The attacker could steal
cookies and passwords from the framed page, or take actions on behalf
of a signed-in user. This attack would work only against sites that use
frames in this manner (MFSA 2005-52; CAN-2005-2266).

Several media players, for example Flash and QuickTime, support
scripted content with the ability to open URLs in the default browser.
The default behavior for Firefox was to replace the currently open
browser window's content with the externally opened content. If the
external URL was a javascript: url it would run as if it came from the
site that served the previous content, which could be used to steal
sensitive information such as login cookies or passwords. If the
media player content first caused a privileged chrome: url to load then
the subsequent javascript: url could execute arbitrary code. External
javascript: urls will now run in a blank context regardless of what
content it's replacing, and external apps will no longer be able to
load privileged chrome: urls in a browser window. The -chrome command
line option to load chrome applications is still supported
(MFSA 2005-53; CAN-2005-2267).

Alerts and prompts created by scripts in web pages are presented with
the generic title [JavaScript Application] which sometimes makes it
difficult to know which site created them. A malicious page could
attempt to cause a prompt to appear in front of a trusted site in an
attempt to extract information such as passwords from the user. In the
fixed version these prompts will contain the hostname from the page
which created it (MFSA 2005-54; CAN-2005-2268).

Parts of the browser UI relied too much on DOM node names without
taking different namespaces into account and verifying that nodes
really were of the expected type. An XHTML document could be used to
create fake elements, for example, with content-defined
properties that the browser would access as if they were the trusted
built-in properties of the expected HTML elements. The severity of the
vulnerability would depend on what the attacker could convince the
victim to do, but could result in executing user-supplied script with
elevated "chrome" privileges. This could be used to install malicious
software on the victim's machine (MFSA 2005-55; CAN-2005-2269).

Improper cloning of base objects allowed web content scripts to walk up
the prototype chain to get to a privileged object. This could be used
to execute code with enhanced privileges (MFSA 2005-56; CAN-2005-2270).

The updated packages have been patched to address these issue.


New packages are available that fix some regression errors that
appeared in the Firefox 1.0.5 release that the patches were based on.

Updated Packages

Mandriva Linux LE2005

 3d0c909432d334210b62858fcd168b84  10.2/RPMS/libnspr4-1.0.2-8.1.102mdk.i586.rpm
26eceab87ec1917421268af235d79c53  10.2/RPMS/libnspr4-devel-1.0.2-8.1.102mdk.i586.rpm
8da370adf09aa25eee32c40ac6ce197d  10.2/RPMS/libnss3-1.0.2-8.1.102mdk.i586.rpm
19110ad997d3bd74d71e02d88815186f  10.2/RPMS/libnss3-devel-1.0.2-8.1.102mdk.i586.rpm
e65aec36dcbf19ae9512cc29257ff962  10.2/RPMS/mozilla-firefox-1.0.2-8.1.102mdk.i586.rpm
ce8b763c88114ed27e64b5d779b15397  10.2/RPMS/mozilla-firefox-devel-1.0.2-8.1.102mdk.i586.rpm
e8f1ab14ac8a6835b2436df6de495f91  10.2/SRPMS/mozilla-firefox-1.0.2-8.1.102mdk.src.rpm

Mandriva Linux LE2005/X86_64

 bf2971e053939aef258b93202ba7daf0  x86_64/10.2/RPMS/lib64nspr4-1.0.2-8.1.102mdk.x86_64.rpm
959055c9a8ce7d40dfb2bad1a9334b20  x86_64/10.2/RPMS/lib64nspr4-devel-1.0.2-8.1.102mdk.x86_64.rpm
3d0c909432d334210b62858fcd168b84  x86_64/10.2/RPMS/libnspr4-1.0.2-8.1.102mdk.i586.rpm
26eceab87ec1917421268af235d79c53  x86_64/10.2/RPMS/libnspr4-devel-1.0.2-8.1.102mdk.i586.rpm
5ee4652302f285f9d2d98d34a1315935  x86_64/10.2/RPMS/lib64nss3-1.0.2-8.1.102mdk.x86_64.rpm
dec7310f3d726f19dc8540a6c0036f3e  x86_64/10.2/RPMS/lib64nss3-devel-1.0.2-8.1.102mdk.x86_64.rpm
8da370adf09aa25eee32c40ac6ce197d  x86_64/10.2/RPMS/libnss3-1.0.2-8.1.102mdk.i586.rpm
19110ad997d3bd74d71e02d88815186f  x86_64/10.2/RPMS/libnss3-devel-1.0.2-8.1.102mdk.i586.rpm
abcace081b81d082a61a215a077cc147  x86_64/10.2/RPMS/mozilla-firefox-1.0.2-8.1.102mdk.x86_64.rpm
ecdc99b4b1551f385b44ee5ab9f5efd8  x86_64/10.2/RPMS/mozilla-firefox-devel-1.0.2-8.1.102mdk.x86_64.rpm
e8f1ab14ac8a6835b2436df6de495f91  x86_64/10.2/SRPMS/mozilla-firefox-1.0.2-8.1.102mdk.src.rpm



To upgrade automatically, use MandrivaUpdate.


Please verify the update prior to upgrading to ensure the integrity of the downloaded package. You can do this with the command :

                rpm --checksig package.rpm

You can get the GPG public key of the Mandriva Security Team to verify the GPG signature of each RPM.

If you use MandrivaUpdate, the verification of md5 checksum and GPG signature is performed automatically for you.