LinuxSecurity.com
Share your story
The central voice for Linux and Open Source security news
Home News Topics Advisories HOWTOs Features Newsletters About Register

Welcome!
Sign up!
EnGarde Community
Login
Polls
What is the most important Linux security technology?
 
Advisories
Community
Linux Events
Linux User Groups
Link to Us
Security Center
Book Reviews
Security Dictionary
Security Tips
SELinux
White Papers
Featured Blogs
All About Linux
DanWalsh LiveJournal
Securitydistro
Latest Newsletters
Linux Security Week: September 15th, 2014
Linux Security Week: September 8th, 2014
Subscribe
LinuxSecurity Newsletters
E-mail:
Choose Lists:
About our Newsletters
RSS Feeds
Get the LinuxSecurity news you want faster with RSS
Powered By

  
Red Hat: 2012:0079-01: firefox: Critical Advisory Print E-mail
User Rating:      How can I rate this item?
Posted by Benjamin D. Thomas   
RedHat Linux Updated firefox packages that fix multiple security issues are now available for Red Hat Enterprise Linux 4, 5, and 6. The Red Hat Security Response Team has rated this update as having critical [More...]
=====================================================================
                   Red Hat Security Advisory

Synopsis:          Critical: firefox security update
Advisory ID:       RHSA-2012:0079-01
Product:           Red Hat Enterprise Linux
Advisory URL:      https://rhn.redhat.com/errata/RHSA-2012-0079.html
Issue date:        2012-01-31
CVE Names:         CVE-2011-3659 CVE-2011-3670 CVE-2012-0442 
                   CVE-2012-0444 CVE-2012-0449 
=====================================================================

1. Summary:

Updated firefox packages that fix multiple security issues are now
available for Red Hat Enterprise Linux 4, 5, and 6.

The Red Hat Security Response Team has rated this update as having critical
security impact. Common Vulnerability Scoring System (CVSS) base scores,
which give detailed severity ratings, are available for each vulnerability
from the CVE links in the References section.

2. Relevant releases/architectures:

RHEL Desktop Workstation (v. 5 client) - i386, x86_64
Red Hat Enterprise Linux (v. 5 server) - i386, ia64, ppc, s390x, x86_64
Red Hat Enterprise Linux AS version 4 - i386, ia64, ppc, s390, s390x, x86_64
Red Hat Enterprise Linux Desktop (v. 5 client) - i386, x86_64
Red Hat Enterprise Linux Desktop (v. 6) - i386, x86_64
Red Hat Enterprise Linux Desktop Optional (v. 6) - i386, x86_64
Red Hat Enterprise Linux Desktop version 4 - i386, x86_64
Red Hat Enterprise Linux ES version 4 - i386, ia64, x86_64
Red Hat Enterprise Linux HPC Node Optional (v. 6) - x86_64
Red Hat Enterprise Linux Server (v. 6) - i386, ppc64, s390x, x86_64
Red Hat Enterprise Linux Server Optional (v. 6) - i386, ppc64, s390x, x86_64
Red Hat Enterprise Linux WS version 4 - i386, ia64, x86_64
Red Hat Enterprise Linux Workstation (v. 6) - i386, x86_64
Red Hat Enterprise Linux Workstation Optional (v. 6) - i386, x86_64

3. Description:

Mozilla Firefox is an open source web browser. XULRunner provides the XUL
Runtime environment for Mozilla Firefox.

A use-after-free flaw was found in the way Firefox removed nsDOMAttribute
child nodes. In certain circumstances, due to the premature notification
of AttributeChildRemoved, a malicious script could possibly use this flaw
to cause Firefox to crash or, potentially, execute arbitrary code with the
privileges of the user running Firefox. (CVE-2011-3659)

Several flaws were found in the processing of malformed web content. A web
page containing malicious content could cause Firefox to crash or,
potentially, execute arbitrary code with the privileges of the user running
Firefox. (CVE-2012-0442)

A flaw was found in the way Firefox parsed Ogg Vorbis media files. A web
page containing a malicious Ogg Vorbis media file could cause Firefox to
crash or, potentially, execute arbitrary code with the privileges of the
user running Firefox. (CVE-2012-0444)

A flaw was found in the way Firefox parsed certain Scalable Vector Graphics
(SVG) image files that contained eXtensible Style Sheet Language
Transformations (XSLT). A web page containing a malicious SVG image file
could cause Firefox to crash or, potentially, execute arbitrary code with
the privileges of the user running Firefox. (CVE-2012-0449)

The same-origin policy in Firefox treated http://example.com and
http://[example.com] as interchangeable. A malicious script could possibly
use this flaw to gain access to sensitive information (such as a client's
IP and user e-mail address, or httpOnly cookies) that may be included in
HTTP proxy error replies, generated in response to invalid URLs using
square brackets. (CVE-2011-3670)

For technical details regarding these flaws, refer to the Mozilla security
advisories for Firefox 3.6.26. You can find a link to the Mozilla
advisories in the References section of this erratum.

All Firefox users should upgrade to these updated packages, which contain
Firefox version 3.6.26, which corrects these issues. After installing the
update, Firefox must be restarted for the changes to take effect.

4. Solution:

Before applying this update, make sure all previously-released errata
relevant to your system have been applied.

This update is available via the Red Hat Network. Details on how to
use the Red Hat Network to apply this update are available at
https://access.redhat.com/kb/docs/DOC-11259

5. Bugs fixed (http://bugzilla.redhat.com/):

785085 - CVE-2012-0442 Mozilla: memory safety hazards in 10.0/1.9.2.26 (MFSA 2012-01)
785464 - CVE-2011-3670 Mozilla: Same-origin bypass using IPv6-like hostname syntax (MFSA 2012-02)
785966 - CVE-2012-0449 Mozilla: Crash when rendering SVG+XSLT (MFSA 2012-08)
786026 - CVE-2012-0444 Firefox: Ogg Vorbis Decoding Memory Corruption (MFSA 2012-07)
786258 - CVE-2011-3659 Mozilla: child nodes from nsDOMAttribute still accessible after removal of nodes (MFSA 2012-04)

6. Package List:

Red Hat Enterprise Linux AS version 4:

Source:
ftp://updates.redhat.com/enterprise/4AS/en/os/SRPMS/firefox-3.6.26-2.el4.src.rpm

i386:
firefox-3.6.26-2.el4.i386.rpm
firefox-debuginfo-3.6.26-2.el4.i386.rpm

ia64:
firefox-3.6.26-2.el4.ia64.rpm
firefox-debuginfo-3.6.26-2.el4.ia64.rpm

ppc:
firefox-3.6.26-2.el4.ppc.rpm
firefox-debuginfo-3.6.26-2.el4.ppc.rpm

s390:
firefox-3.6.26-2.el4.s390.rpm
firefox-debuginfo-3.6.26-2.el4.s390.rpm

s390x:
firefox-3.6.26-2.el4.s390x.rpm
firefox-debuginfo-3.6.26-2.el4.s390x.rpm

x86_64:
firefox-3.6.26-2.el4.x86_64.rpm
firefox-debuginfo-3.6.26-2.el4.x86_64.rpm

Red Hat Enterprise Linux Desktop version 4:

Source:
ftp://updates.redhat.com/enterprise/4Desktop/en/os/SRPMS/firefox-3.6.26-2.el4.src.rpm

i386:
firefox-3.6.26-2.el4.i386.rpm
firefox-debuginfo-3.6.26-2.el4.i386.rpm

x86_64:
firefox-3.6.26-2.el4.x86_64.rpm
firefox-debuginfo-3.6.26-2.el4.x86_64.rpm

Red Hat Enterprise Linux ES version 4:

Source:
ftp://updates.redhat.com/enterprise/4ES/en/os/SRPMS/firefox-3.6.26-2.el4.src.rpm

i386:
firefox-3.6.26-2.el4.i386.rpm
firefox-debuginfo-3.6.26-2.el4.i386.rpm

ia64:
firefox-3.6.26-2.el4.ia64.rpm
firefox-debuginfo-3.6.26-2.el4.ia64.rpm

x86_64:
firefox-3.6.26-2.el4.x86_64.rpm
firefox-debuginfo-3.6.26-2.el4.x86_64.rpm

Red Hat Enterprise Linux WS version 4:

Source:
ftp://updates.redhat.com/enterprise/4WS/en/os/SRPMS/firefox-3.6.26-2.el4.src.rpm

i386:
firefox-3.6.26-2.el4.i386.rpm
firefox-debuginfo-3.6.26-2.el4.i386.rpm

ia64:
firefox-3.6.26-2.el4.ia64.rpm
firefox-debuginfo-3.6.26-2.el4.ia64.rpm

x86_64:
firefox-3.6.26-2.el4.x86_64.rpm
firefox-debuginfo-3.6.26-2.el4.x86_64.rpm

Red Hat Enterprise Linux Desktop (v. 5 client):

Source:
ftp://ftp.redhat.com/pub/redhat/linux/enterprise/5Client/en/os/SRPMS/firefox-3.6.26-1.el5_7.src.rpm
ftp://ftp.redhat.com/pub/redhat/linux/enterprise/5Client/en/os/SRPMS/xulrunner-1.9.2.26-1.el5_7.src.rpm

i386:
firefox-3.6.26-1.el5_7.i386.rpm
firefox-debuginfo-3.6.26-1.el5_7.i386.rpm
xulrunner-1.9.2.26-1.el5_7.i386.rpm
xulrunner-debuginfo-1.9.2.26-1.el5_7.i386.rpm

x86_64:
firefox-3.6.26-1.el5_7.i386.rpm
firefox-3.6.26-1.el5_7.x86_64.rpm
firefox-debuginfo-3.6.26-1.el5_7.i386.rpm
firefox-debuginfo-3.6.26-1.el5_7.x86_64.rpm
xulrunner-1.9.2.26-1.el5_7.i386.rpm
xulrunner-1.9.2.26-1.el5_7.x86_64.rpm
xulrunner-debuginfo-1.9.2.26-1.el5_7.i386.rpm
xulrunner-debuginfo-1.9.2.26-1.el5_7.x86_64.rpm

RHEL Desktop Workstation (v. 5 client):

Source:
ftp://ftp.redhat.com/pub/redhat/linux/enterprise/5Client/en/os/SRPMS/xulrunner-1.9.2.26-1.el5_7.src.rpm

i386:
xulrunner-debuginfo-1.9.2.26-1.el5_7.i386.rpm
xulrunner-devel-1.9.2.26-1.el5_7.i386.rpm

x86_64:
xulrunner-debuginfo-1.9.2.26-1.el5_7.i386.rpm
xulrunner-debuginfo-1.9.2.26-1.el5_7.x86_64.rpm
xulrunner-devel-1.9.2.26-1.el5_7.i386.rpm
xulrunner-devel-1.9.2.26-1.el5_7.x86_64.rpm

Red Hat Enterprise Linux (v. 5 server):

Source:
ftp://ftp.redhat.com/pub/redhat/linux/enterprise/5Server/en/os/SRPMS/firefox-3.6.26-1.el5_7.src.rpm
ftp://ftp.redhat.com/pub/redhat/linux/enterprise/5Server/en/os/SRPMS/xulrunner-1.9.2.26-1.el5_7.src.rpm

i386:
firefox-3.6.26-1.el5_7.i386.rpm
firefox-debuginfo-3.6.26-1.el5_7.i386.rpm
xulrunner-1.9.2.26-1.el5_7.i386.rpm
xulrunner-debuginfo-1.9.2.26-1.el5_7.i386.rpm
xulrunner-devel-1.9.2.26-1.el5_7.i386.rpm

ia64:
firefox-3.6.26-1.el5_7.ia64.rpm
firefox-debuginfo-3.6.26-1.el5_7.ia64.rpm
xulrunner-1.9.2.26-1.el5_7.ia64.rpm
xulrunner-debuginfo-1.9.2.26-1.el5_7.ia64.rpm
xulrunner-devel-1.9.2.26-1.el5_7.ia64.rpm

ppc:
firefox-3.6.26-1.el5_7.ppc.rpm
firefox-debuginfo-3.6.26-1.el5_7.ppc.rpm
xulrunner-1.9.2.26-1.el5_7.ppc.rpm
xulrunner-1.9.2.26-1.el5_7.ppc64.rpm
xulrunner-debuginfo-1.9.2.26-1.el5_7.ppc.rpm
xulrunner-debuginfo-1.9.2.26-1.el5_7.ppc64.rpm
xulrunner-devel-1.9.2.26-1.el5_7.ppc.rpm
xulrunner-devel-1.9.2.26-1.el5_7.ppc64.rpm

s390x:
firefox-3.6.26-1.el5_7.s390.rpm
firefox-3.6.26-1.el5_7.s390x.rpm
firefox-debuginfo-3.6.26-1.el5_7.s390.rpm
firefox-debuginfo-3.6.26-1.el5_7.s390x.rpm
xulrunner-1.9.2.26-1.el5_7.s390.rpm
xulrunner-1.9.2.26-1.el5_7.s390x.rpm
xulrunner-debuginfo-1.9.2.26-1.el5_7.s390.rpm
xulrunner-debuginfo-1.9.2.26-1.el5_7.s390x.rpm
xulrunner-devel-1.9.2.26-1.el5_7.s390.rpm
xulrunner-devel-1.9.2.26-1.el5_7.s390x.rpm

x86_64:
firefox-3.6.26-1.el5_7.i386.rpm
firefox-3.6.26-1.el5_7.x86_64.rpm
firefox-debuginfo-3.6.26-1.el5_7.i386.rpm
firefox-debuginfo-3.6.26-1.el5_7.x86_64.rpm
xulrunner-1.9.2.26-1.el5_7.i386.rpm
xulrunner-1.9.2.26-1.el5_7.x86_64.rpm
xulrunner-debuginfo-1.9.2.26-1.el5_7.i386.rpm
xulrunner-debuginfo-1.9.2.26-1.el5_7.x86_64.rpm
xulrunner-devel-1.9.2.26-1.el5_7.i386.rpm
xulrunner-devel-1.9.2.26-1.el5_7.x86_64.rpm

Red Hat Enterprise Linux Desktop (v. 6):

Source:
ftp://ftp.redhat.com/pub/redhat/linux/enterprise/6Client/en/os/SRPMS/firefox-3.6.26-1.el6_2.src.rpm
ftp://ftp.redhat.com/pub/redhat/linux/enterprise/6Client/en/os/SRPMS/xulrunner-1.9.2.26-1.el6_2.src.rpm

i386:
firefox-3.6.26-1.el6_2.i686.rpm
firefox-debuginfo-3.6.26-1.el6_2.i686.rpm
xulrunner-1.9.2.26-1.el6_2.i686.rpm
xulrunner-debuginfo-1.9.2.26-1.el6_2.i686.rpm

x86_64:
firefox-3.6.26-1.el6_2.i686.rpm
firefox-3.6.26-1.el6_2.x86_64.rpm
firefox-debuginfo-3.6.26-1.el6_2.i686.rpm
firefox-debuginfo-3.6.26-1.el6_2.x86_64.rpm
xulrunner-1.9.2.26-1.el6_2.i686.rpm
xulrunner-1.9.2.26-1.el6_2.x86_64.rpm
xulrunner-debuginfo-1.9.2.26-1.el6_2.i686.rpm
xulrunner-debuginfo-1.9.2.26-1.el6_2.x86_64.rpm

Red Hat Enterprise Linux Desktop Optional (v. 6):

Source:
ftp://ftp.redhat.com/pub/redhat/linux/enterprise/6Client/en/os/SRPMS/xulrunner-1.9.2.26-1.el6_2.src.rpm

i386:
xulrunner-debuginfo-1.9.2.26-1.el6_2.i686.rpm
xulrunner-devel-1.9.2.26-1.el6_2.i686.rpm

x86_64:
xulrunner-debuginfo-1.9.2.26-1.el6_2.i686.rpm
xulrunner-debuginfo-1.9.2.26-1.el6_2.x86_64.rpm
xulrunner-devel-1.9.2.26-1.el6_2.i686.rpm
xulrunner-devel-1.9.2.26-1.el6_2.x86_64.rpm

Red Hat Enterprise Linux HPC Node Optional (v. 6):

Source:
ftp://ftp.redhat.com/pub/redhat/linux/enterprise/6ComputeNode/en/os/SRPMS/firefox-3.6.26-1.el6_2.src.rpm
ftp://ftp.redhat.com/pub/redhat/linux/enterprise/6ComputeNode/en/os/SRPMS/xulrunner-1.9.2.26-1.el6_2.src.rpm

x86_64:
firefox-3.6.26-1.el6_2.i686.rpm
firefox-3.6.26-1.el6_2.x86_64.rpm
firefox-debuginfo-3.6.26-1.el6_2.i686.rpm
firefox-debuginfo-3.6.26-1.el6_2.x86_64.rpm
xulrunner-1.9.2.26-1.el6_2.i686.rpm
xulrunner-1.9.2.26-1.el6_2.x86_64.rpm
xulrunner-debuginfo-1.9.2.26-1.el6_2.i686.rpm
xulrunner-debuginfo-1.9.2.26-1.el6_2.x86_64.rpm
xulrunner-devel-1.9.2.26-1.el6_2.i686.rpm
xulrunner-devel-1.9.2.26-1.el6_2.x86_64.rpm

Red Hat Enterprise Linux Server (v. 6):

Source:
ftp://ftp.redhat.com/pub/redhat/linux/enterprise/6Server/en/os/SRPMS/firefox-3.6.26-1.el6_2.src.rpm
ftp://ftp.redhat.com/pub/redhat/linux/enterprise/6Server/en/os/SRPMS/xulrunner-1.9.2.26-1.el6_2.src.rpm

i386:
firefox-3.6.26-1.el6_2.i686.rpm
firefox-debuginfo-3.6.26-1.el6_2.i686.rpm
xulrunner-1.9.2.26-1.el6_2.i686.rpm
xulrunner-debuginfo-1.9.2.26-1.el6_2.i686.rpm

ppc64:
firefox-3.6.26-1.el6_2.ppc.rpm
firefox-3.6.26-1.el6_2.ppc64.rpm
firefox-debuginfo-3.6.26-1.el6_2.ppc.rpm
firefox-debuginfo-3.6.26-1.el6_2.ppc64.rpm
xulrunner-1.9.2.26-1.el6_2.ppc.rpm
xulrunner-1.9.2.26-1.el6_2.ppc64.rpm
xulrunner-debuginfo-1.9.2.26-1.el6_2.ppc.rpm
xulrunner-debuginfo-1.9.2.26-1.el6_2.ppc64.rpm

s390x:
firefox-3.6.26-1.el6_2.s390.rpm
firefox-3.6.26-1.el6_2.s390x.rpm
firefox-debuginfo-3.6.26-1.el6_2.s390.rpm
firefox-debuginfo-3.6.26-1.el6_2.s390x.rpm
xulrunner-1.9.2.26-1.el6_2.s390.rpm
xulrunner-1.9.2.26-1.el6_2.s390x.rpm
xulrunner-debuginfo-1.9.2.26-1.el6_2.s390.rpm
xulrunner-debuginfo-1.9.2.26-1.el6_2.s390x.rpm

x86_64:
firefox-3.6.26-1.el6_2.i686.rpm
firefox-3.6.26-1.el6_2.x86_64.rpm
firefox-debuginfo-3.6.26-1.el6_2.i686.rpm
firefox-debuginfo-3.6.26-1.el6_2.x86_64.rpm
xulrunner-1.9.2.26-1.el6_2.i686.rpm
xulrunner-1.9.2.26-1.el6_2.x86_64.rpm
xulrunner-debuginfo-1.9.2.26-1.el6_2.i686.rpm
xulrunner-debuginfo-1.9.2.26-1.el6_2.x86_64.rpm

Red Hat Enterprise Linux Server Optional (v. 6):

Source:
ftp://ftp.redhat.com/pub/redhat/linux/enterprise/6Server/en/os/SRPMS/xulrunner-1.9.2.26-1.el6_2.src.rpm

i386:
xulrunner-debuginfo-1.9.2.26-1.el6_2.i686.rpm
xulrunner-devel-1.9.2.26-1.el6_2.i686.rpm

ppc64:
xulrunner-debuginfo-1.9.2.26-1.el6_2.ppc.rpm
xulrunner-debuginfo-1.9.2.26-1.el6_2.ppc64.rpm
xulrunner-devel-1.9.2.26-1.el6_2.ppc.rpm
xulrunner-devel-1.9.2.26-1.el6_2.ppc64.rpm

s390x:
xulrunner-debuginfo-1.9.2.26-1.el6_2.s390.rpm
xulrunner-debuginfo-1.9.2.26-1.el6_2.s390x.rpm
xulrunner-devel-1.9.2.26-1.el6_2.s390.rpm
xulrunner-devel-1.9.2.26-1.el6_2.s390x.rpm

x86_64:
xulrunner-debuginfo-1.9.2.26-1.el6_2.i686.rpm
xulrunner-debuginfo-1.9.2.26-1.el6_2.x86_64.rpm
xulrunner-devel-1.9.2.26-1.el6_2.i686.rpm
xulrunner-devel-1.9.2.26-1.el6_2.x86_64.rpm

Red Hat Enterprise Linux Workstation (v. 6):

Source:
ftp://ftp.redhat.com/pub/redhat/linux/enterprise/6Workstation/en/os/SRPMS/firefox-3.6.26-1.el6_2.src.rpm
ftp://ftp.redhat.com/pub/redhat/linux/enterprise/6Workstation/en/os/SRPMS/xulrunner-1.9.2.26-1.el6_2.src.rpm

i386:
firefox-3.6.26-1.el6_2.i686.rpm
firefox-debuginfo-3.6.26-1.el6_2.i686.rpm
xulrunner-1.9.2.26-1.el6_2.i686.rpm
xulrunner-debuginfo-1.9.2.26-1.el6_2.i686.rpm

x86_64:
firefox-3.6.26-1.el6_2.i686.rpm
firefox-3.6.26-1.el6_2.x86_64.rpm
firefox-debuginfo-3.6.26-1.el6_2.i686.rpm
firefox-debuginfo-3.6.26-1.el6_2.x86_64.rpm
xulrunner-1.9.2.26-1.el6_2.i686.rpm
xulrunner-1.9.2.26-1.el6_2.x86_64.rpm
xulrunner-debuginfo-1.9.2.26-1.el6_2.i686.rpm
xulrunner-debuginfo-1.9.2.26-1.el6_2.x86_64.rpm

Red Hat Enterprise Linux Workstation Optional (v. 6):

Source:
ftp://ftp.redhat.com/pub/redhat/linux/enterprise/6Workstation/en/os/SRPMS/xulrunner-1.9.2.26-1.el6_2.src.rpm

i386:
xulrunner-debuginfo-1.9.2.26-1.el6_2.i686.rpm
xulrunner-devel-1.9.2.26-1.el6_2.i686.rpm

x86_64:
xulrunner-debuginfo-1.9.2.26-1.el6_2.i686.rpm
xulrunner-debuginfo-1.9.2.26-1.el6_2.x86_64.rpm
xulrunner-devel-1.9.2.26-1.el6_2.i686.rpm
xulrunner-devel-1.9.2.26-1.el6_2.x86_64.rpm

These packages are GPG signed by Red Hat for security.  Our key and 
details on how to verify the signature are available from
https://access.redhat.com/security/team/key/#package

7. References:

https://www.redhat.com/security/data/cve/CVE-2011-3659.html
https://www.redhat.com/security/data/cve/CVE-2011-3670.html
https://www.redhat.com/security/data/cve/CVE-2012-0442.html
https://www.redhat.com/security/data/cve/CVE-2012-0444.html
https://www.redhat.com/security/data/cve/CVE-2012-0449.html
https://access.redhat.com/security/updates/classification/#critical
http://www.mozilla.org/security/known-vulnerabilities/firefox36.html#firefox3.6.26

8. Contact:

The Red Hat security contact is .  More contact
details at https://access.redhat.com/security/team/contact/

Copyright 2012 Red Hat, Inc.
 
< Prev   Next >
    
Partner

 

Latest Features
Peter Smith Releases Linux Network Security Online
Securing a Linux Web Server
Password guessing with Medusa 2.0
Password guessing as an attack vector
Squid and Digest Authentication
Squid and Basic Authentication
Demystifying the Chinese Hacking Industry: Earning 6 Million a Night
Free Online security course (LearnSIA) - A Call for Help
What You Need to Know About Linux Rootkits
Review: A Practical Guide to Fedora and Red Hat Enterprise Linux - Fifth Edition
Weekend Edition
Apache Warns of Tomcat Remote Code Execution Vulnerability
Cloud security: We're asking the wrong questions
Partner Sponsor

Community | HOWTOs | Blogs | Features | Book Reviews | Networking
 Security Projects |  Latest News |  Newsletters |  SELinux |  Privacy |  Home
 Hardening |   About Us |   Advertise |   Legal Notice |   RSS |   Guardian Digital
(c)Copyright 2014 Guardian Digital, Inc. All rights reserved.