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
Anonymous

June 07, 2017

Permalink

Today is 7th of July but I still cannot see new tor version in official tor repository for Debian. Issue with ALSA is very sad, too sad. Pulseaudio, like systemd, are the things which were always avoided on system-critical OSes.

Anonymous

June 07, 2017

Permalink

When I open youtube popup says me that I must install pulseaudio to het sound working, button with help redirects me on the page: link. However, there is no this page. You should fix the link.

P.S. Preview in commenting in tor-blog with enabled JS is not working. It doesn't show formatted text, only its source.

We ship Tor Browser with

pref("browser.reader.detectedFirstArticle", true);
pref("reader.parse-on-load.enabled", false);

to reduce fingerprinting surface. Does it help if you flip both preferences on the about:config page?

Anonymous

June 07, 2017

Permalink

The article mentions:

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.

How can I enable this?

1. Open about:config in a browser window.
2. Toggle the following two preferences so that their value becomes true:
extensions.torlauncher.control_port_use_ipc
extensions.torlauncher.socks_port_use_ipc
3. Restart Tor Browser.

That sounds like a great step -- making Tor Browser use unix domain sockets, not tcp sockets, when interacting with Tor.

But does it actually harden Tor Browser in any way? That is, is there something fundamentally safer about using unix domain sockets vs tcp? I would guess that the security would come from the step after that, which would be "and then we prevent Tor Browser from making any tcp connections"?

> But does it actually harden Tor Browser in any way?

No. So the blog post is misleading at best.

> I would guess that the security would come from the step after that, which would be "and then we prevent Tor Browser from making any tcp connections"?

Yes.

Use the sandbox.

Yes, it's making it harder to bypass Tor. The Browser process won't be able to send network package that don't go through Tor. This is a good additional safety net to avoid leaking your real IP. Also, at some point, seccomp could be used to block some of the network related system calls reducing the attack surface.

Sorry, but I think this is incorrect.

Having your Tor Browser use the unix domain sockets to talk to Tor is not what prevents your Tor Browser process from sending network packets that don't go through Tor.

Step one is to have your Tor Browser use unix domain sockets to talk to Tor, and step two is sandboxing your Tor Browser so it can't talk to anything else in any other way. You have to do both steps.

See also
https://www.torproject.org/projects/torbrowser.html.en#downloads-sandbox

jep, and block network access could be done by just adding one or two line in the apparmor profile or in firejail (yawning sandbox might be the better solution but unfortunately it's not available for 32bit Systems)

That's nice, but how do we INSTALL sandboxed-tor-browser?
I've not been able to find instructions anywhere, and none come with the zip file I downloaded from your provided link. Just un-zipping and clicking on the file seems to do nothing.
I'm using Ubuntu 16.04 LTS 64-bit.

Anonymous

June 07, 2017

Permalink

Thank guys, great job!

Quite often when I opened Tor Browser, there was a warning sign of a yellow triangle with an exclamation mark in the "Open Settings" button on the connecting dialog box. When clicking on that, it showed a "Copy to clipboard" button.

May anyone tell me a little bit about this warning? I'm wondering if my connection was compromised and no longer anonymous in these cases. This time, for example, the content I got from the "Copy to clipboard" was:

06/07/2017 12:58:58.500 [NOTICE] Bootstrapped 5%: Connecting to directory server
06/07/2017 12:58:58.500 [NOTICE] Bootstrapped 10%: Finishing handshake with directory server
06/07/2017 12:58:59.200 [WARN] Proxy Client: unable to connect to 68.45.52.117:40365 ("general SOCKS server failure")
06/07/2017 12:59:00.100 [NOTICE] Bootstrapped 15%: Establishing an encrypted directory connection
06/07/2017 12:59:00.100 [WARN] Proxy Client: unable to connect to 68.45.52.117:40365 ("general SOCKS server failure")
06/07/2017 12:59:00.300 [NOTICE] Bootstrapped 20%: Asking for networkstatus consensus
06/07/2017 12:59:01.200 [NOTICE] Bootstrapped 25%: Loading networkstatus consensus
06/07/2017 12:59:08.900 [NOTICE] Bootstrapped 80%: Connecting to the Tor network
06/07/2017 12:59:08.900 [NOTICE] Bootstrapped 90%: Establishing a Tor circuit
06/07/2017 12:59:10.100 [NOTICE] Tor has successfully opened a circuit. Looks like client functionality is working.
06/07/2017 12:59:10.100 [NOTICE] Bootstrapped 100%: Done
06/07/2017 12:59:11.600 [NOTICE] New control connection opened from 127.0.0.1.
06/07/2017 12:59:11.700 [NOTICE] New control connection opened from 127.0.0.1.
06/07/2017 13:00:18.400 [WARN] Proxy Client: unable to connect to 178.62.29.226:9443 ("general SOCKS server failure")
06/07/2017 13:00:19.700 [WARN] Proxy Client: unable to connect to 178.62.29.226:9443 ("general SOCKS server failure")
06/07/2017 13:00:19.800 [NOTICE] new bridge descriptor 'Unnamed' (fresh): $958ACD25DACDDE1CF6FE463FBFA28BFEB8BFF82B~Unnamed at 194.132.209.61
06/07/2017 13:01:06.100 [WARN] Proxy Client: unable to connect to 108.61.191.37:9443 ("general SOCKS server failure")
06/07/2017 13:01:06.100 [WARN] Proxy Client: unable to connect to 5.35.86.79:39563 ("general SOCKS server failure")
06/07/2017 13:01:06.100 [WARN] Proxy Client: unable to connect to 35.185.60.254:9443 ("general SOCKS server failure")
06/07/2017 13:01:06.100 [WARN] Proxy Client: unable to connect to 139.59.147.112:36715 ("general SOCKS server failure")
06/07/2017 13:01:06.100 [WARN] Proxy Client: unable to connect to 104.153.209.217:25447 ("general SOCKS server failure")
06/07/2017 13:01:06.100 [WARN] Proxy Client: unable to connect to 185.163.45.19:57339 ("general SOCKS server failure")

Those lines look to me like you configured your Tor Browser to use bridges (most likely a pluggable transport like obfs4), and some of your bridges are down.

If you don't need bridges, you'll probably get a faster and smoother experience by not using them. You can change your settings by clicking on the green onion and choosing network settings and then unclicking things.

Sorry for slowing in reply, arma, there are a lot of so important things happen these few days! I was busy stalking Jame B. Comey around the Senate floor and hunting for the Britain election outcome! xD

I can also guess that the bridges might down, but wonder is that did that (the warning) mean my connection would be compromised and no longer safe and anonymous??

I know the speed and smoothness of the connection using bridges may not that of the best choice. I hadn't need bridges until the warning appeared more and more frequently for me that using bridges may be my best choice. There were days all the other methods (obfs4, obfs3,... without bridges) gave me the warning sign.

Uhmm... the warning sign of a yellow triangle with an exclamation marked in the "Open Settings" button on the connecting dialog box. I have been talking all about this sign!

I just wanna make it clear that did that sign mean the connection in those cases might be compromised and no longer safe and anonymous. I have been wondering all about that!

I thought you might have meant that.

The yellow blinking triangle means that there's a Tor Browser update available, and you should move to the newer version. You can do that by clicking on the green onion and asking to update.

It has nothing to do with "your circuits are suddenly no longer safe".

OMG! Are you kidding me??

It's not the blinking triangle on the onion icon on the top-left corner of the Tor Browser to notify new version available! That sign will disappear once I update to the newest version, which I always do.

It's a yellow triangle with an exclamation marked in the "Open Settings" button on the connecting dialog box, the small dialog box which appears every time we launch Tor Browser! If clicking on the "Open Settings" with the warning triangle on it, there will be a "Copy to clipboard" button to get the message log one of which I posted earlier! I'm wondering if the connection in those cases might be compromised and no longer safe and anonymous.

I think many people would meet this issue already, because I have got it pretty frequently.

Hmm... ok, amar, I will understand nobody has the answer for my question, or...

"If you love your answer, you can keep your answer; if you love your plans, you can keep your plans too!" xD

Thank you very much, arma, gk, and Lee!

Especially gk, that's exactly what I have been looking for. I could only guess that (1) some bridges might down, (2) the connections were probably NOT compromised -- since in that case I suppose Tor would terminate the connections for the most security possible and I would not be able to access Internet. I actually never access Internet in those cases either -- also, for the most security possible, but I still want the answer, so thank gk one more time.

@Lee: No, that warning has been appearing very randomly, there has been no regular pattern like slow connectivity or peak hours for me to notify (it can appear at any time).

Anonymous

June 07, 2017

Permalink

If you are using Add-ons with filter lists in Tor Browser 7.0, for example uBlock Origin, Adblock Plus etc. ,it takes extremely long to start the browser
In Tor Browser 6.5 and previous this was not really an issue. It was only a small delay barely noticeable.
This problem is new to version 7.0. I hope you can look into that.

How to reproduce:
- Use a newely installed Tor Browser v. 7.0
- Install uBlock Origin
- See how the browser will freeze for some seconds.
- Restart the Browser and see how it will take extremely long to startup

Anonymous

June 07, 2017

Permalink

I'm still hoping for 64-bit versions of Tor and the Tor Browser for Windows; maybe they'll show up alongside the ESR59-based Tor Browser, because Firefox 53+ no longer supports Vista, and most installations of Windows 7+ are 64-bit, so they will be able to benefit from 64-bit software.

Join the discussion...

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

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