Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
Trac
Trac
  • Project overview
    • Project overview
    • Details
    • Activity
  • Issues 246
    • Issues 246
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Operations
    • Operations
    • Metrics
    • Incidents
  • Analytics
    • Analytics
    • Value Stream
  • Wiki
    • Wiki
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Create a new issue
  • Issue Boards

GitLab is used only for code review, issue tracking and project management. Canonical locations for source code are still https://gitweb.torproject.org/ https://git.torproject.org/ and git-rw.torproject.org.

  • Legacy
  • TracTrac
  • Issues
  • #28174

Closed (moved)
Open
Opened Oct 24, 2018 by Arthur Edelstein@arthuredelstein

Block non-.onion subresources on .onion websites?

Right now, .onion sites can load HTTP or HTTPS subresources (scripts, images, etc.).

But is this safe? Loading non-.onion subresources means we are potentially leaking information including:

  • the .onion domain
  • the full top-level .onion URL
  • other information about the content of the page
  • the list of subresources requested by a .onion page

Leaks might happen by referer, fetch request, query string, etc. (I haven't tested these yet and I'm not sure what leaks happen in practice.) Such leaks would be particularly bad for "stealth" onion sites.

Even worse, some of the non-.onion subresources may leak the onion site's IP address. For example, a .onion website improperly configured may accidentally include URLs pointing to their own server's non-.onion IP address. Loading those subresources leaks the IP address not just to the user but to anyone watching connections outside the Tor network.

While it's true that warnings in Tor Browser's URL bar .onion icons from #23247 (moved) help a little (especially with HTTP subresources), they don't show any warning when onion sites from load non-.onion HTTPS subresources. And a warning icon is actually too late -- the subresource has already been requested by the time a user sees the warning.

So, my question is: should we apply a more strict blocking rule? Possible alternative rules could be:

  1. No non-.onion subresources can be loaded from a .onion site.
  2. No "active" non-.onion subresources can be loaded from a .onion site.

I guess it depends on how many existing onion sites we break. But my feeling is that allowing mixed content was a mistake for HTTPS sites and we should avoid making the analogous mistake.

To upload designs, you'll need to enable LFS and have admin enable hashed storage. More information
Assignee
Assign to
None
Milestone
None
Assign milestone
Time tracking
None
Due date
None
Reference: legacy/trac#28174