[tahoe-lafs-trac-stream] [Tahoe-LAFS] #615: Can JavaScript loaded from Tahoe access all your content which is loaded from Tahoe?

Tahoe-LAFS trac at tahoe-lafs.org
Sun Apr 26 23:52:37 UTC 2015


#615: Can JavaScript loaded from Tahoe access all your content which is loaded
from Tahoe?
-------------------------+-------------------------------------------------
     Reporter:  zooko    |      Owner:  davidsarah
         Type:  defect   |     Status:  assigned
     Priority:           |  Milestone:  soon
  critical               |    Version:  1.3.0
    Component:  code-    |   Keywords:  newcaps confidentiality integrity
  frontend-web           |  preservation capleak gsoc websec
   Resolution:           |
Launchpad Bug:           |
-------------------------+-------------------------------------------------

Comment (by TheJH):

 I made a PoC that shows one possible way to exploit this. Use a Tahoe-LAFS
 instance that is connected to the testnet, browse to different URLs in the
 testnet, then navigate the same tab to this URL:

 http://localhost:3456/file/URI%3ACHK%3A6hxsjrbtiyjohpj7i7bn6dqixi%3Ail3humxxej53gg6bpr3l5ecxrqdg6wnd5ceuq33vqtrivvrhlfeq%3A1%3A6%3A1262/@@named=/historysteal.html

 Click anywhere on the page. The following attack will happen:

 -------------------------
 The evil HTML file opens itself in a second tab using
 "window.open(location.toString(), 'foo')" (requires a click to bypass
 popup blockers). Then the evil HTML file in the second tab can
 access the first tab using "window.opener". The evil second tab does this
 again and again:

  - run window.parent.history.go(-1) to let the first tab go one step back
 in the browsing history
  - grab the current URL of the first tab using
 window.parent.location.toString()
  - send the URL out to the attacker's server

 This will work until a page with a different origin is reached.
 -------------------------

 After the attack has run, you'll see the URLs that you have visited in the
 same tab before.

 This is a copy of the HTML file:
 https://var.thejh.net/lafs_historysteal.html.bin

--
Ticket URL: <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/615#comment:29>
Tahoe-LAFS <https://Tahoe-LAFS.org>
secure decentralized storage


More information about the tahoe-lafs-trac-stream mailing list