Tor Browser 7.0a3 is released

Update (May 8 10:20 UTC): Mozilla released Firefox 52.1.1esr fixing among others a security bug which could lead to a potentially exploitable crash on the Windows platform. By default Tor Browser users are not affected as WebGL is put behind click-to-play placeholders, thanks to NoScript. Nevertheless, we are preparing a release later this week picking this fix up and, in addition to that, a lot of other improvements for our alpha series.

Update (Apr 24 8:36 UTC): Thanks to all for testing this alpha release so far. It turns out there are a number of issues that are affecting a lot of our alpha users. The following list should give an overview and help to avoid duplicate bug reports:

  • Tor Browser is crashing when opening/downloading files that need an external application to handle them. This is bug 21766.
  • Tor Browser is crashing on about:addons with the security slider set to "high" and does not show any preferences on about:preferences ticked. This issue is tracked in bug 21962.
  • The canvas prompt is not shown anymore in Tor Browser. This issue is tracked in bug 21778.
  • There is no sound on Linux systems without PulseAudio anymore. This is bug 1247056. Check this one out for Mozilla's reasoning behind dropping ALSA support.

Tor Browser 7.0a3 is now available from the Tor Browser Project page and also from our distribution directory.

This release features important security updates to Firefox.

This is the first alpha release which is based on Firefox ESR 52. We updated all of our patches that did not get upstreamed yet and made Torbutton and Tor Launcher multiprocess (e10s) compatible. After the first nightly build based on ESR52 went out we already fixed a number of bugs associated with this switch. But more remain, please help!

We hope having e10s and Mozilla's content sandbox enabled will be one of the major new features in the upcoming Tor Browser 7.0 series, both security- and performance-wise. While we are still working on the sandboxing part for Windows, both Linux and macOS have e10s and content sandboxing enabled by default in Tor Browser 7.0a3. There are already a number of bugs related to that on our radar which can be found on our bug tracker and which are tagged with the `tbb-e10s` keyword. If you find more, please report them!

The switch to Firefox ESR 52 raises the system requirements for Tor Browser on Windows and macOS. Computers running Windows and are not SSE2-capable are not supported anymore. On Apple computers with OS X < 10.9 Tor Browser won't run anymore either. Update (Apr 24 8:41 UTC): Only the browser part of Tor Browser is affected by these new constraints. If you are e.g. on Windows and are using the expert bundle or are extracting tor from Tor Browser it should run on any computer it used to run. The same holds for macOS with one exception: tor we ship in Tor Browser won't run on Apple computers with OS X 10.6 anymore either.

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. As with previous releases building 7.0a3 is fully reproducible on all three supported platforms, even though we needed to deploy a last minute patch for Linux bundles this time.

Apart from switching to the new ESR and dealing with related issues we included a new Tor alpha (0.3.0.5-rc) and updated our NoScript (5.0.2) and HTTPS-Everywhere versions (5.2.14). The Sandboxed Tor Browser for Linux got updated to 0.0.6 making sure it is compatible with Firefox ESR 52.

As in Tor Browser 6.5.2 we provide a fix for Tor Browser crashing on github.com on Windows and for Twitter issues that got reported already a while ago. We update our security slider as well taking newer JIT preferences into account.

A note to Windows users: We signed the .exe files with a new codesigning certificate as the old one is about to expire. If there are issues with that new certificate, e.g. scary warnings showing up after downloading a Tor Browser .exe file and double-clicking on it, please let us know.

The full changelog since Tor Browser 7.0a2 is:

  • All Platforms
    • Update Firefox to 52.1.0esr
    • Tor to 0.3.0.5-rc
    • Update Torbutton to 1.9.7.2
      • 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
      • 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.14
    • Update NoScript to 5.0.2
    • Update sandboxed-tor-browser to 0.0.6
      • Bug 21764: Use bubblewrap's `--die-with-parent` when supported
      • Fix e10s Web Content crash on systems with grsec kernels
      • Bug 21928: Force a reinstall if an existing hardened bundle is present
      • Bug 21929: Remove hardened/ASAN related code
      • Bug 21927: Remove the ability to install/update the hardened bundle
      • Bug 21244: Update the MAR signing key for 7.0
      • Bug 21536: Remove asn's scramblesuit bridge from Tor Browser
      • Add back old MAR signing key to not break updating Tor Browser stable
      • Add `prlimit64` to the firefox system call whitelist
      • Fix compilation with Go 1.8
      • Use Config.Clone() to clone TLS configs when available
    • Update Go to 1.7.5 (bug 21709)
    • Bug 21555+16450: Don't remove Authorization header on subdomains (e.g. Twitter)
    • Bug 21887: Fix broken error pages 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 3246: Double-key cookies
    • Bug 8842: Fix XML parsing error
    • Bug 16886: 16886: "Add-on compatibility check dialog" contains Firefox logo
    • 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 21917: Add new obfs4 bridges
    • Bug 21918: Move meek-amazon to d2cly7j4zqgua7.cloudfront.net backend
  • Windows
    • Bug 21795: Fix Tor Browser crashing on github.com
    • 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 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 21907: Fix runtime error on CentOS 6
    • Bug 21748: Fix broken Snowflake build and update bridge details
    • Bug 21954: Snowflake breaks the 7.0a3 build
    • Bug 15910: Don't download GMPs via the local fallback
  • 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+
    • 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

I've tested on different machines, and the result is the same:
Security
21/32
Web Cryptography API

Yes ✔
Content Security Policy 1

No ✘
Content Security Policy 2

No ✘

Anonymous

May 03, 2017

Permalink

18:00:37.221 Can not decrement crashed tab count to below 0 1 ContentCrashHandlers.jsm:488
onAboutTabCrashedUnload resource:///modules/ContentCrashHandlers.jsm:488:7
this.TabCrashHandler.receiveMessage resource:///modules/ContentCrashHandlers.jsm:155:9
bound self-hosted:915:17
MessageListener.prototype.callListeners resource://gre/modules/RemotePageManager.jsm:35:9
RemotePages.prototype.portMessageReceived resource://gre/modules/RemotePageManager.jsm:111:5
bound self-hosted:915:17
MessageListener.prototype.callListeners resource://gre/modules/RemotePageManager.jsm:35:9
ChromeMessagePort.prototype.observe resource://gre/modules/RemotePageManager.jsm:320:3

Anonymous

May 04, 2017

Permalink

NoScript seems to have slown down Tor Browser very often. When this happens, the slowdown is generally noticeable.

Full name: {73a6fe31-595d-460b-a920-fcc0f8843232}.
Impact on framerate: 0 high-impacts, 46 medium-impact (5 alerts).
CPU usage: 1% (total 1646093ms).
System usage: 1% (total 109350ms).

Anonymous

May 04, 2017

Permalink

13:12:41.534 Unknown source for one-off search: header 1 BrowserUsageTelemetry.jsm:286
recordSearch resource:///modules/BrowserUsageTelemetry.jsm:286:15
BrowserSearch.recordOneoffSearchInTelemetry chrome://browser/content/browser.js:3856:7
handleSearchCommandWhere chrome://browser/content/search/search.xml:401:15
handleOneOffSearch chrome://browser/content/search/search.xml:966:11
handleSearchCommand chrome://browser/content/search/search.xml:1675:11
onxblclick chrome://browser/content/search/search.xml:1041:9

Anonymous

May 04, 2017

Permalink

Torbutton INFO: The DataTransfer is available
when I select text

Select is not drag'n'drop, or you are saying Firefox tries to do something in either case?

I was assuming that you somehow dragged the selected text by accident. How are you selecting the text and on which platform does this happen?

If you selecting by clicking your mouse, nothing happens. But if you press the left button and move your mouse, then that message appears after releasing the button. This happens on Windows with e10s only.

Thanks. I looked with Wireshark in parallel while seeing the log message in the console and this seems to be harmless (i.e. no DNS or IP address leaks).

ftp://ftp.adobe.com/pub/adobe/reader/win/11.x/11.0.20/misc/
Generally awful
and also REMOTE_REASON=CONNECTREFUSED seems to be handled incorrectly (endless loading)

I know it is not officially recommended to install extra Addons or modify the browser from its original state. But if you do install extra Addons, it extremely slows down 7.0a3. Startup takes like 10 seconds more and during use the browser freezes sometimes for many seconds.

How to recreate the problem:
- Install an Addon for example: uBlock Origin or uMatrix
- You will experience the symptoms during installation and after restarting the browser
-> Browser freezes, Startup takes abnormaly long

On which platform does this happen?

Both Windows and Linux, same issue on different PCs and also in a virtual machine
So should not be related to OS or hardware. Also original Firefox 52ESR does NOT have this issue.

Weird. I just tested it on my Windows 7 testing machine and I don't see any differences after installing ublock origin. If you have error messages that might be relevant I'd like to see them. Also, does this happen with a clean, new 7.0a3?

TypeError: top is null[Learn More] utilityOverlay.js:50:1
An error occurred executing the consoleCmd_openURL command: [Exception... "[JavaScript Error: "top is null" {file: "chrome://browser/content/utilityOverlay.js" line: 50}]'[JavaScript Error: "top is null" {file: "chrome://browser/content/utilityOverlay.js" line: 50}]' when calling method: [nsIController::doCommand]" nsresult: "0x80570021 (NS_ERROR_XPC_JAVASCRIPT_ERROR_WITH_DETAILS)" location: "JS frame :: chrome://global/content/globalOverlay.js :: goDoCommand :: line 100" data: yes] globalOverlay.js:103
goDoCommand chrome://global/content/globalOverlay.js:103:5
oncommand chrome://devtools/content/webconsole/webconsole.xul:1:1

This version of TBB corrupts HSTS headers sometimes (as this site provides correct headers):
15:09:00.400 Strict-Transport-Security: The site specified a header that could not be parsed successfully. 1 tor-browser-70a3-released
(found on Windows, e10s)

Which site do you mean with "this site"? What makes you think Tor Browser is doing that?

"this site" in the log https://blog.torproject.org/blog/tor-browser-70a3-released
I checked the headers, they are OK, but TBB couldn't parse them.

In regular Firefox you can drag a link from the url bar to the desk top. Please turn this on in Tor-browser

But that may easily result in DNS requests bypassing Tor which we don't want. See: https://trac.torproject.org/projects/tor/ticket/4517.

http://download.cnet.com/AutoPatcher-Updater/3000-2094_4-95445.html
scripts don't work on a page even after temporarily enabled (check '+' items) on Medium or High.

09:14:58.079 req.getResponseHeader is not a function chrome://noscript/content/Main.js:1639:0

Latest NoScript breaks http://www.catalog.update.microsoft.com/ErrorInline.aspx with
TypeError: cyclic object value Main.js:1633:1
[Exception... "Component returned failure code: 0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsIHttpChannel.getResponseHeader]" nsresult: "0x80040111 (NS_ERROR_NOT_AVAILABLE)" location: "JS frame :: chrome://noscript/content/Main.js :: unserializeReqData :: line 1639" data: no] Main.js:1641:0