Tor Browser 7.0 is released

The Tor Browser Team is proud to announce the first stable release in the 7.0 series. This release is available from the Tor Browser Project page and also from our distribution directory.

This release brings us up to date with Firefox 52 ESR which contains progress in a number of areas:

Most notably we hope having Mozilla's multiprocess mode (e10s) and content sandbox enabled will be one of the major new features in the Tor Browser 7.0 series, both security- and performance-wise (Update (July 7, 12:40 UTC): While sandboxing is enabled in Tor Browser 7 it turns out that the long awaited content sandboxing did not make it into the Firefox ESR series as there were still stability issues with it. We try to backport the necessary patches to make it work for Tor Browser, though.). While we are still working on the sandboxing part for Windows (the e10s part is ready), both Linux and macOS have e10s and content sandboxing enabled by default in Tor Browser 7.0. In addition to that, Linux and macOS users have the option to further harden their Tor Browser setup by using only Unix Domain sockets for communication with tor. Update (June 8, 8:00 UTC): As the last point caused some confusion: enabling Unix Domain sockets alone does not harden Tor Browser. One needs that *and* additional sandboxing mechanisms that prevent communication over TCP/IP.

The highlights in our tracking and fingerprinting resistance improvements are: cookies, view-source requests and the Permissions API are isolated to the first party URL bar domain now to enhance our tracking related defenses. On the fingerprinting side we disabled and/or patched several new features, among them WebGL2, the WebAudio, Social, SpeechSynthesis, and Touch APIs, and the MediaError.message property.

WIth the switch to ESR 52 come new system requirements for Windows and macOS users: On Windows Tor Browser 7.0 won't run on non-SSE2 capable machines anymore. On Apple computers OS X 10.9 is now the minimum system requirement.

Besides new system requirements for Windows and macOS users, there are some known issues with Tor Browser 7.0 as well:

  • Mozilla stopped ALSA support in Firefox 52 for Linux users. This means without having PulseAudio available, sound will be broken in Tor Browser 7.0 on Linux.
  • The download button in the PDF viewer is currently broken. A workaround for this bug is right-clicking on the PDF file and choosing the "Save as" option.
  • Tor Browser has recently been freezing on some websites. This is related to a NoScript bug which will hopefully get addressed in a new NoScript version rather soon. If not then we'll ship a workaround for it in the planned Tor Browser 7.0.1 which will update Firefox to 52.2.0esr next week.

Apart from switching to the new Firefox ESR and dealing with related issues we included a new Tor stable version (0.3.0.7) and updated our NoScript (5.0.5) and HTTPS-Everywhere versions (5.2.17).

We updated our toolchains during the ESR transition as well. In particular we retired the old GCC-based one for our macOS cross-compilation and rely solely on clang/cctools now.

The full changelog since Tor Browser 6.5.2 is:

  • All Platforms
    • Update Firefox to 52.1.2esr
    • Update Tor to 0.3.0.7
    • Update Torbutton to 1.9.7.3
      • Bug 22104: Adjust our content policy whitelist for ff52-esr
      • Bug 22457: Allow resources loaded by view-source://
      • Bug 21627: Ignore HTTP 304 responses when checking redirects
      • Bug 22459: Adapt our use of the nsIContentPolicy to e10s mode
      • Bug 21865: Update our JIT preferences in the security slider
      • Bug 21747: Make 'New Tor Circuit for this Site' work in ESR52
      • Bug 21745: Fix handling of catch-all circuit
      • Bug 21547: Fix circuit display under e10s
      • Bug 21268: e10s compatibility for New Identity
      • Bug 21267: Remove window resize implementation for now
      • Bug 21201: Make Torbutton multiprocess compatible
      • Translations update
    • Update Tor Launcher to 0.2.12.2
      • Bug 22283: Linux 7.0a4 broken after update due to unix: lines in torrc
      • Bug 20761: Don't ignore additional SocksPorts
      • Bug 21920: Don't show locale selection dialog
      • Bug 21546: Mark Tor Launcher as multiprocess compatible
      • Bug 21264: Add a README file
      • Translations update
    • Update HTTPS-Everywhere to 5.2.17
    • Update NoScript to 5.0.5
    • Update Go to 1.8.3 (bug 22398)
    • Bug 21962: Fix crash on about:addons page
    • Bug 21766: Fix crash when the external application helper dialog is invoked
    • Bug 21886: Download is stalled in non-e10s mode
    • Bug 21778: Canvas prompt is not shown in Tor Browser based on ESR52
    • Bug 21569: Add first-party domain to Permissions key
    • Bug 22165: Don't allow collection of local IP addresses
    • Bug 13017: Work around audio fingerprinting by disabling the Web Audio API
    • Bug 10286: Disable Touch API and add fingerprinting resistance as fallback
    • Bug 13612: Disable Social API
    • Bug 10283: Disable SpeechSynthesis API
    • Bug 22333: Disable WebGL2 API for now
    • Bug 21861: Disable additional mDNS code to avoid proxy bypasses
    • Bug 21684: Don't expose navigator.AddonManager to content
    • Bug 21431: Clean-up system extensions shipped in Firefox 52
    • Bug 22320: Use preference name 'referer.hideOnionSource' everywhere
    • Bug 16285: Don't ship ClearKey EME system and update EME preferences
    • Bug 21675: Spoof window.navigator.hardwareConcurrency
    • Bug 21792: Suppress MediaError.message
    • Bug 16337: Round times exposed by Animation API to nearest 100ms
    • Bug 21972: about:support is partially broken
    • Bug 21726: Keep Graphite support disabled
    • Bug 21323: Enable Mixed Content Blocking
    • Bug 21685: Disable remote new tab pages
    • Bug 21790: Disable captive portal detection
    • Bug 21686: Disable Microsoft Family Safety support
    • Bug 22073: Make sure Mozilla's experiments are disabled
    • Bug 21683: Disable newly added Safebrowsing capabilities
    • Bug 22071: Disable Kinto-based blocklist update mechanism
    • Bug 22415: Fix format error in our pipeline patch
    • Bug 22072: Hide TLS error reporting checkbox
    • Bug 20761: Don't ignore additional SocksPorts
    • Bug 21862: Rip out potentially unsafe Rust code
    • Bug 16485: Improve about:cache page
    • Bug 22462: Backport of patch for bug 1329521 to fix assertion failure
    • Bug 21340: Identify and backport new patches from Firefox
    • Bug 22153: Fix broken feeds on higher security levels
    • Bug 22025: Fix broken certificate error pages on higher security levels
    • Bug 21887: Fix broken error pages on higher security levels
    • Bug 22458: Fix broken `about:cache` page on higher security levels
    • Bug 21876: Enable e10s by default on all supported platforms
    • Bug 21876: Always use esr policies for e10s
    • Bug 20905: Fix resizing issues after moving to a direct Firefox patch
    • Bug 21875: Modal dialogs are maximized in ESR52 nightly builds
    • Bug 21885: SVG is not disabled in Tor Browser based on ESR52
    • Bug 17334: Hide Referer when leaving a .onion domain (improved patch)
    • Bug 18531: Uncaught exception when opening ip-check.info
    • Bug 18574: Uncaught exception when clicking items in Library
    • Bug 22327: Isolate Page Info media previews to first party domain
    • Bug 22452: Isolate tab list menuitem favicons to first party domain
    • Bug 15555: View-source requests are not isolated by first party domain
    • Bug 3246: Double-key cookies
    • Bug 8842: Fix XML parsing error
    • Bug 5293: Neuter fingerprinting with Battery API
    • Bug 16886: 16886: "Add-on compatibility check dialog" contains Firefox logo
    • Bug 19645: TBB zooms text when resizing browser window
    • Bug 19192: Untrust Blue Coat CA
    • Bug 19955: Avoid confusing warning that favicon load request got cancelled
    • Bug 20005: Backport fixes for memory leaks investigation
    • Bug 20755: ltn.com.tw is broken in Tor Browser
    • Bug 21896: Commenting on website is broken due to CAPTCHA not being displayed
    • Bug 20680: Rebase Tor Browser patches to 52 ESR
    • Bug 22429: Add IPv6 address for Lisbeth:443 obfs4 bridge
    • Bug 22468: Add default obfs4 bridges frosty and dragon
  • Windows
    • Bug 22419: Prevent access to file://
    • Bug 12426: Make use of HeapEnableTerminationOnCorruption
    • Bug 19316: Make sure our Windows updates can deal with the SSE2 requirement
    • Bug 21868: Fix build bustage with FIREFOX_52_0_2esr_RELEASE for Windows
  • OS X
    • Bug 21940: Don't allow privilege escalation during update
    • Bug 22044: Fix broken default search engine on macOS
    • Bug 21879: Use our default bookmarks on OSX
    • Bug 21779: Non-admin users can't access Tor Browser on macOS
    • Bug 21723: Fix inconsistent generation of MOZ_MACBUNDLE_ID
    • Bug 21724: Make Firefox and Tor Browser distinct macOS apps
    • Bug 21931: Backport OSX SetupMacCommandLine updater fixes
    • Bug 15910: Don't download GMPs via the local fallback
  • Linux
    • Bug 16285: Remove ClearKey related library stripping
    • Bug 22041: Fix update error during update to 7.0a3
    • Bug 22238: Fix use of hardened wrapper for Firefox build
    • Bug 21907: Fix runtime error on CentOS 6
    • Bug 15910: Don't download GMPs via the local fallback
  • Android
    • Bug 19078: Disable RtspMediaResource stuff in Orfox
  • Build system
    • Windows
      • Bug 21837: Fix reproducibility of accessibility code for Windows
      • Bug 21240: Create patches to fix mingw-w64 compilation of Firefox ESR 52
      • Bug 21904: Bump mingw-w64 commit to help with sandbox compilation
      • Bug 18831: Use own Yasm for Firefox cross-compilation
    • OS X
      • Bug 21328: Updating to clang 3.8.0
      • Bug 21754: Remove old GCC toolchain and macOS SDK
      • Bug 19783: Remove unused macOS helper scripts
      • Bug 10369: Don't use old GCC toolchain anymore for utils
      • Bug 21753: Replace our old GCC toolchain in PT descriptor
      • Bug 18530: ESR52 based Tor Browser only runs on macOS 10.9+
      • Bug 22328: Remove clang PIE wrappers
    • Linux
      • Bug 21930: NSS libraries are missing from mar-tools archive
      • Bug 21239: Adapt Linux Firefox descriptor to ESR52 (use GTK2)
      • Bug 21960: Linux bundles based on ESR 52 are not reproducible anymore
      • Bug 21629: Fix broken ASan builds when switching to ESR 52
      • Bug 22444: Use hardening-wrapper when building GCC
      • Bug 22361: Fix hardening of libraries built in linux/gitian-utils.yml

I agree. some of us still want/need to be able to use Tor browser on older machines, it'd be very helpful to have a blog post specifically about this issue and possible ways to continue using tor with a browser reliably on such machines.

olderOS

June 07, 2017

Permalink

my system is not supported.. meanwhile what can I do? updating only TOR instead of tor browser, but how do it?
help please :D

I think it's actually considered a feature. The goal of the 'new identity' button is to make your future activities unlinkable to your past activities. One potential way to link them is to look at window size. So whatever your window size was before, Tor makes sure to normalize it to the default after.

I think it was done by mistake. If the point was to reset the resolution, wouldn't the resolution just be set to default instead of closing everything? Or is isolation broken between tabs so that all tabs really have to be closed?

I know, arma, the difference between "new identity" and "new Tor Circuit..." but this is a different window behavior under Linux.
I try to explain better:
-Tor Browser until previous version
you select "new identity" and Tor Browser windows switch fast giving you a clean Tor Browser
-This version of Tor Browser
you select "new identity" and Tor Browser opens a new window ( under Linux is in a different position of the screen ) and THEN close the old one ( this is why under Linux it opens in a new portion of the screen ).

Just try ten times with the previous version of Tor Browser and the the new one.
Hope it's clear now. ;)

olderOS

June 07, 2017

Permalink

Hi there, I wanted to report that Avast detects an idp.generic infection for Tor on Windows since this update. Saw an identical report in comments of release 4.0.8. Do you still advise to add Tor to exceptions as a workaround?

olderOS

June 07, 2017

Permalink

Nice to see that you listened on the referrer problem. Please make the following preferences as default in the next release:
network.http.referer.trimmingPolicy;2
network.http.sendRefererHeader;1
network.http.referer.spoofSource;true

These would be a huge improvement and should not cause any problems.

olderOS

June 07, 2017

Permalink

After installing 7.0, bitdefender detected pluggabletransports\meek-client.exe as a virus, Gen:Variant.Graftor.

The main thing that worries me is

if a navigation from an encrypted to a non-encrypted part of the same site (i.e. sharing the same cookies) happens in the same tab, NoScript removes its ";Secure" patch to ensure compatibility

, which means it gives away your private cookies with fake requests from bad exits.

olderOS

June 07, 2017

Permalink

TBB 7.0 gets stuck in some sort of refresh-loop when trying to post here with the security slider set to "high security". This could lead to accidental DDoS as well as people setting dangerous security levels to get around the refresh bug. 6.5.2 also had this problem.

> IE does Tor Browser Sandbox use Unix Socket Domains by default?

The sandbox has always used AF_LOCAL sockets, and has never had support for anything else.

I have no idea wtf they were thinking putting that blurb in the blog post since on it's own that feature adds zero to security.

Actually, it is pretty weird that this is working for you. The problem is that we are using Firefox's Private Browsing Mode by default and that IndexedDB is *not* supported in it yet, see: https://bugzilla.mozilla.org/show_bug.cgi?id=781982. So, even if you flipped the preference to "true" that should not make IndexedDB available in an unmodified Tor Browser.

I had private browsing mode by default turned off in my tor browser config, because I run it as default browser and I like to keep the history around (with additional security measures, such as an encrypted disk etc.).

That is probably, why it works.

olderOS

June 07, 2017

Permalink

Is there a way to revert back to the previous version? This update is severely messing with a few websites that i frequent.

Agreed, not only a few websites, the used Firefox version is a mess in itself.
The https passowrd box warning does not make sense in tor.
The removed css styling of elements makes most websites look ugly.

esr52 wtf? even the browser error pages have errors!
copy-paste from the error page source (page is not shown complete!)

I second the request for a possibility to revert bck to the previous version.

This one
Bug 21887: Fix broken error pages on higher security levels
is NOT fixed, happens periodically and is quite annoying because if it was a form page before you cant get the resend button anymore and loose all your input data.

olderOS

June 07, 2017

Permalink

"Android

Bug 19078: Disable RtspMediaResource stuff in Orfox"
Thank you for the excellent work! Please, could you post the update to F-Droid, since not everyone uses Google Play?
F-Droid isn't perfect but at least it doesn't have a developer backdoor like Google Play does that can uninstall your firewall and install spyware...

olderOS

June 07, 2017

Permalink

tor It does not connect and I do not know where to write, it happened right after the update, here are the logs, the piece:
08.06.2017 6:48:39.800 [NOTICE] Application request when we haven't used client functionality lately. Optimistically trying known bridges again.
08.06.2017 6:48:39.800 [NOTICE] Application request when we haven't used client functionality lately. Optimistically trying known bridges again.
08.06.2017 6:48:41.800 [WARN] socks5: command 3 not recognized. Rejecting.
08.06.2017 6:48:44.800 [WARN] socks5: command 3 not recognized. Rejecting.
08.06.2017 6:48:44.800 [WARN] Application request to port 23: this port is commonly used for unencrypted protocols. Please make sure you don't send anything you would mind the rest of the Internet reading!
08.06.2017 6:48:44.800 [NOTICE] Application request when we haven't used client functionality lately. Optimistically trying known bridges again.
08.06.2017 6:48:44.800 [NOTICE] Application request when we haven't used client functionality lately. Optimistically trying known bridges again.
08.06.2017 6:48:44.800 [NOTICE] Application request when we haven't used client functionality lately. Optimistically trying known bridges again.
08.06.2017 6:48:47.800 [WARN] socks5: command 3 not recognized. Rejecting.
08.06.2017 6:48:50.800 [WARN] socks5: command 3 not recognized. Rejecting.
08.06.2017 6:48:53.800 [WARN] socks5: command 3 not recognized. Rejecting.
08.06.2017 6:48:56.800 [WARN] socks5: command 3 not recognized. Rejecting.
08.06.2017 6:48:59.800 [WARN] socks5: command 3 not recognized. Rejecting.
08.06.2017 6:49:02.800 [WARN] socks5: command 3 not recognized. Rejecting.
08.06.2017 6:49:05.800 [WARN] socks5: command 3 not recognized. Rejecting.
08.06.2017 6:49:08.800 [WARN] socks5: command 3 not recognized. Rejecting.
08.06.2017 6:49:10.800 [NOTICE] Application request when we haven't used client functionality lately. Optimistically trying known bridges again.
08.06.2017 6:49:11.800 [WARN] socks5: command 3 not recognized. Rejecting.
08.06.2017 6:49:14.800 [WARN] socks5: command 3 not recognized. Rejecting.
08.06.2017 6:49:17.800 [WARN] socks5: command 3 not recognized. Rejecting.
08.06.2017 6:49:20.800 [WARN] socks5: command 3 not recognized. Rejecting.
08.06.2017 6:49:23.800 [WARN] socks5: command 3 not recognized. Rejecting.
08.06.2017 6:49:23.900 [NOTICE] Closing no-longer-configured Socks listener on 127.0.0.1:9150
08.06.2017 6:49:23.900 [NOTICE] DisableNetwork is set. Tor will not make or accept non-control network connections. Shutting down all existing connections.
08.06.2017 6:49:23.900 [NOTICE] Closing old Socks listener on 127.0.0.1:9150
08.06.2017 6:49:24.200 [NOTICE] Delaying directory fetches: DisableNetwork is set.

Wow. You seem to have some sort of really broken application that you're trying to shove through Tor?

And also you configured your Tor Browser to use bridges, but those bridges are down or something? Or maybe you weren't on the Internet while these logs happened?

olderOS

June 07, 2017

Permalink

Good job. One thing though. I have the newest 7.0. But can not post here normally. I have to lower the security slider first. Is this problem in the new blog, or in Tor Browser?

olderOS

June 07, 2017

Permalink

little bit offtopic:

your new site-design is really 'confusing'. It looks like a FLOODING.

With the old design you have fast overall view when you look to the new things in new TBB version.
With the new design you are looking, looking, looking, looking ..... -a really confusing design?
Or do you have a gigantic monitor?

olderOS

June 07, 2017

Permalink

I am in China, and used to have a set of custom meek bridges, but having those leads to errors under 7.0. Even having them, but selecting "Connect with provided bridged" - meek-azure causes start-up to fail: I must completely clear the "enter custom bridges" field. This seems a bug to me.

Join the discussion...

This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.

8 + 4 =
Solve this simple math problem and enter the result. E.g. for 1+3, enter 4.