<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "http://bugs.gentoo.org/bugzilla.dtd">

<bugzilla version="2.22.7"
          urlbase="http://bugs.gentoo.org/"
          maintainer="bugzilla@gentoo.org"
>

    <bug>
          <bug_id>185497</bug_id>
          
          <creation_ts>2007-07-16 06:24 0000</creation_ts>
          <short_desc>www-client/opera &lt; 9.22 - multiple vulnerabilities</short_desc>
          <delta_ts>2007-08-22 22:43:01 0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>Gentoo Linux</product>
          <component>Security</component>
          <version>unspecified</version>
          <rep_platform>All</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          <bug_file_loc>http://www.opera.com/docs/changelogs/linux/922/</bug_file_loc>
          <status_whiteboard>B2 [glsa] p-y</status_whiteboard>
          
          <priority>P2</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>jer@gentoo.org</reporter>
          <assigned_to>security@gentoo.org</assigned_to>
          

      

      
          <long_desc isprivate="0">
            <who>jer@gentoo.org</who>
            <bug_when>2007-07-16 06:24:15 0000</bug_when>
            <thetext>I cannot seem to reproduce this flaw with either
 ~www-client/opera-9.21 or
 ~www-client/opera-9.22.652 using the
&lt;http://alt.swiecki.net/oper1.html&gt; example, but this bug may in due time turn out to be the 9.22 stabilisation bug, so it&apos;s useful to have around anyway.

---------------------------------------------------------
From: Robert Swiecki &lt;jagger@xxxxxxxxxxx&gt;
Date: Sat, 14 Jul 2007 01:50:49 +0200
With a specially crafted web page, an attacker can redirect
a www browser to the page, which URL (in the url bar) resembles
an arbitrary domain choosen by the attacker.

It&apos;s possible due to the fact, that some web browsers incorrectly
display contents of the url bar while rendering pages based on the
&apos;data:&apos; URL scheme (RFC 2397). Only the ending of the URL is
displayed. Padding the URL with whitespaces allows an attacker to
insert an arbitrary content into the browser url bar.

http://alt.swiecki.net/oper1.html

Tested with:
* Opera 9.21 on Win 2003SE and Win XPSP2
* Opera 9.21 on Linux
* Konqueror 3.5.7 on Linux

Pictures taken on my systems (using 1024x768 dekstop resolution)
http://alt.swiecki.net/operalin.png
http://alt.swiecki.net/operawin.png
http://alt.swiecki.net/konq.png

Successfull attack depends on the proper construction of the
&apos;data:&apos; URL. An algorithm could utilize JS
document.body.clientWidth/Height properties to calculate the
best url padding for the given browser.

PS. Sometimes Opera web browser displays the beggining of
the &apos;data:&apos; URL (correct behaviour), e.g. during
browser startup with immediate redirect to the last visited page.

-- 
Robert Swiecki
---------------------------------------------------------</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>jer@gentoo.org</who>
            <bug_when>2007-07-19 17:38:09 0000</bug_when>
            <thetext>http://www.opera.com/docs/changelogs/linux/922/ says:

* Fixed an issue that could occur when removing a specially prepared torrent transfer, as reported by iDefense. See the advisory[1].

* Fixed a data leak issue when using canvas.createPattern, as reported by Philip Taylor. See the advisory[2].

* Prevented an issue where data URLs could be used to display the wrong address in the address bar. See the advisory[3].

* Improved the display of long domain names in authentication dialogs. Long domain names will now scroll instead of using ellipsis. See the advisory[4].

* Added Trustcenter class 3 G2 root certificate.

* Fixes for a problem with certificate import from PKCS #7 Signed and Netscape Multicert files.

www-client/opera/opera-9.22.ebuild is in the tree!


[1] http://www.opera.com/support/search/view/862/
[2] http://www.opera.com/support/search/view/861/
[3] http://www.opera.com/support/search/view/863/
[4] http://www.opera.com/support/search/view/864/</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>py@gentoo.org</who>
            <bug_when>2007-07-20 07:39:14 0000</bug_when>
            <thetext>Thanks Jeroen.
Arches, please test and mark stable. Targt keywords are:
opera-9.22.ebuild:KEYWORDS=&quot;amd64 ppc sparc x86 ~x86-fbsd&quot;</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>gustavoz@gentoo.org</who>
            <bug_when>2007-07-20 13:16:40 0000</bug_when>
            <thetext>sparc stable.
</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>dertobi123@gentoo.org</who>
            <bug_when>2007-07-20 17:41:19 0000</bug_when>
            <thetext>ppc stable</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>armin76@gentoo.org</who>
            <bug_when>2007-07-21 14:21:07 0000</bug_when>
            <thetext>x86 stable</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>beandog@gentoo.org</who>
            <bug_when>2007-07-28 18:29:53 0000</bug_when>
            <thetext>amd64 stable</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>jer@gentoo.org</who>
            <bug_when>2007-08-04 04:44:19 0000</bug_when>
            <thetext>Arches are all done. Get ready for 9.23! :)</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>falco@gentoo.org</who>
            <bug_when>2007-08-22 22:43:01 0000</bug_when>
            <thetext>GLSA 200708-17, combined with bug 188987. Thanks everybody!</thetext>
          </long_desc>
      
    </bug>

</bugzilla>