Security/Fusion/Esr140: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(→‎See also: only direct pages)
 
(14 intermediate revisions by the same user not shown)
Line 4: Line 4:


[https://bugzilla.mozilla.org/show_bug.cgi?id=1958496 Bug 1958496] is meant to track the progress on the project.
[https://bugzilla.mozilla.org/show_bug.cgi?id=1958496 Bug 1958496] is meant to track the progress on the project.
Automatic for linking tor patches with bugzilla bugs: [https://torpatch.es/128 Tor Browser Patches]


== Status ==
== Status ==
Line 11: Line 13:
=== P1: patches in Phab, blocked review ===
=== P1: patches in Phab, blocked review ===


* [https://bugzilla.mozilla.org/show_bug.cgi?id=1845105 Bug 1845105]: we tried to uplift our patch for ''BB 41901: Hardcode normalized FontSubstitutes.'', [https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/1539bc09a28bb0b457d14579b39885cb0d332aaa 1539bc09]. Let me know if you need to be CC'ed in.
* [https://bugzilla.mozilla.org/show_bug.cgi?id=1900648 Bug 1900648] (uplift for ''BB 42288: Allow language spoofing in status messages.'', [https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/f91b57d594f70be9a13c296e0a60cca099eee97b f91b57d5])
* [https://bugzilla.mozilla.org/show_bug.cgi?id=1825033 Bug 1825033] (uplift for ''BB 41698: Reword the recommendation badges in about:addons'', [https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/475f2cbcae1b19d2779f3341ac7cd5ef10b5db87 475f2cbc])
** Waiting for our actions, if I understand correctly


=== P2: need help from upstream! ===
=== P2: need help from upstream! ===


* [https://bugzilla.mozilla.org/show_bug.cgi?id=1746668 '''Bug 1746668''']: l10n leak important improvements, see comment 28 with a plan I outlined, we need approval, or to somehow review it and then get started with it  
* [https://bugzilla.mozilla.org/show_bug.cgi?id=1746668 '''Bug 1746668''']: l10n leak important improvements, see comment 28 with a plan I outlined, we need approval, or to somehow review it and then get started with it
* [https://bugzilla.mozilla.org/show_bug.cgi?id=1944251 '''Bug 1944251''']: drop ''font.system.whitelist'', make TB consistent with Firefox and improve compatibility ([https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/43322 #43322 (closed)])  
** manuel: not sure who to ask right now, zibi left mozilla recently, so we need to find someone else to ask
* [https://bugzilla.mozilla.org/show_bug.cgi?id=1944251 '''Bug 1944251''']: drop ''font.system.whitelist'', make TB consistent with Firefox and improve compatibility ([https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/43322 #43322])
* [https://bugzilla.mozilla.org/show_bug.cgi?id=1397996 '''Bug 1397996''']: scrollbar leaks, we want an upstream take on it (tradeoffs with accessibility) ([https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/22137 #22137])  
* [https://bugzilla.mozilla.org/show_bug.cgi?id=1397996 '''Bug 1397996''']: scrollbar leaks, we want an upstream take on it (tradeoffs with accessibility) ([https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/22137 #22137])  
* [https://bugzilla.mozilla.org/show_bug.cgi?id=1676104 '''Bug 1676104''']: this is not a P1 only because it should affect UI and/or AC requests (e.g., addons?). Our current patch is ''BB 40171: Make WebRequest and GeckoWebExecutor First-Party aware'' ([https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/5240a3b51428d50626a385976e7da78d121b8ee4 5240a3b5]); see also [https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/40171 #40171 (closed)] (still open for uplift).  
* [https://bugzilla.mozilla.org/show_bug.cgi?id=1676104 '''Bug 1676104''']: this is not a P1 only because it should affect UI and/or AC requests (e.g., addons?). Our current patch is ''BB 40171: Make WebRequest and GeckoWebExecutor First-Party aware'' ([https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/5240a3b51428d50626a385976e7da78d121b8ee4 5240a3b5]); see also [https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/40171 #40171] (still open for uplift).  
* [https://bugzilla.mozilla.org/show_bug.cgi?id=1869821 '''Bug 1869821''']: ''intl.accept_languages'' is very dangerous. P2 only because Firefox has localized builds rather than multi-lingual like us and because we might want to talk about our patches first (''BB 42084: Ensure English spoofing works even if preferences are set out of order.'' + ''BB 41930: Remove the UI to customize accept_languages.'', [https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/2d23c333201787af1ea5fbef2b9cf2426fc0c0e3 2d23c333] and [https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/79f3e7cd3ba260e7a43aba21ce99f2ddf5cda7b9 79f3e7cd]). Good analysis in [https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/41930 #41930 (closed)].  
* [https://bugzilla.mozilla.org/show_bug.cgi?id=1869821 '''Bug 1869821''']: ''intl.accept_languages'' is very dangerous. P2 only because Firefox has localized builds rather than multi-lingual like us and because we might want to talk about our patches first (''BB 42084: Ensure English spoofing works even if preferences are set out of order.'' + ''BB 41930: Remove the UI to customize accept_languages.'', [https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/2d23c333201787af1ea5fbef2b9cf2426fc0c0e3 2d23c333] and [https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/79f3e7cd3ba260e7a43aba21ce99f2ddf5cda7b9 79f3e7cd]). Good analysis in [https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/41930 #41930].  
* ''''''''BB 30605: Honor privacy.spoof_english in Android'''''''' ([https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/160f0b8a68bf41abfa797a51df813743c188bfa0 160f0b8a]), no Bug yet, as far as I know. We'll need some help from upstream because it needs also an additional part for the UI (''TB 40087 [android]: Implement a switch for spoof English.'', [https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/7e749377ceefee0424efb640c84a1fd4c41b6ed6 7e749377], for us), and I think we've never uplifted something user-exposed.  
* '''''BB 30605: Honor privacy.spoof_english in Android''''' ([https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/160f0b8a68bf41abfa797a51df813743c188bfa0 160f0b8a]), no Bug yet, as far as I know. We'll need some help from upstream because it needs also an additional part for the UI (''TB 40087 [android]: Implement a switch for spoof English.'', [https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/7e749377ceefee0424efb640c84a1fd4c41b6ed6 7e749377], for us), and I think we've never uplifted something user-exposed.  
* ''''''''BB 42562: Normalized the Accepted Languages on Android.'''''''' ([https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/299ae962bed521da68c408b2184593a5d02deae1 299ae962]): this goes probably with spoof English. In any case, locale protection is pretty weak on Firefox, especially on Android (even though Android has a lot of other problems)  
* '''''BB 42562: Normalized the Accepted Languages on Android.''''' ([https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/299ae962bed521da68c408b2184593a5d02deae1 299ae962]): this goes probably with spoof English. In any case, locale protection is pretty weak on Firefox, especially on Android (even though Android has a lot of other problems)  
* [https://bugzilla.mozilla.org/show_bug.cgi?id=1594455 Bug 1594455]: LB styling/cosmetics. Our UX team investigated a lot and we think our LB is really good looking, but Moz UX team will probably want to check it first. We could also do it in multiple steps (e.g., rounded corner and vertical center first, custom background in another bug)  
* [https://bugzilla.mozilla.org/show_bug.cgi?id=1594455 Bug 1594455]: LB styling/cosmetics. Our UX team investigated a lot and we think our LB is really good looking, but Moz UX team will probably want to check it first. We could also do it in multiple steps (e.g., rounded corner and vertical center first, custom background in another bug)  
* [https://bugzilla.mozilla.org/show_bug.cgi?id=1923368 Bug 1923368]: disk leak, I'd like to force-inline more file types, not only PDFs (partially implemented downstream as BB 42220, [https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/b784ed282ccbb79dca76e0bb3a290e94f6538054 b784ed28])  
* [https://bugzilla.mozilla.org/show_bug.cgi?id=1923368 Bug 1923368]: disk leak, I'd like to force-inline more file types, not only PDFs (partially implemented downstream as BB 42220, [https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/b784ed282ccbb79dca76e0bb3a290e94f6538054 b784ed28])  
Line 32: Line 31:
** E.g., [https://bugzilla.mozilla.org/show_bug.cgi?id=1940296 Bug 1940296] for vsync, but we currently force Wayland off because we don't know how fingerprintable it is  
** E.g., [https://bugzilla.mozilla.org/show_bug.cgi?id=1940296 Bug 1940296] for vsync, but we currently force Wayland off because we don't know how fingerprintable it is  
** See also [https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/42645 #42645]  
** See also [https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/42645 #42645]  
* ''TB 23247: Communicating security expectations for .onion'' ([https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/646be9d321f1d24a4e81e60bf24fd445b6c09a10 646be9d3]): over the years, some patches have been uplifted for optionally treating .onion http as HTTPS. Can we resume the work also on that? Do we have a meta?  
* ''[https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/23247 TB 23247]: Communicating security expectations for .onion'' ([https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/646be9d321f1d24a4e81e60bf24fd445b6c09a10 646be9d3]): over the years, some patches have been uplifted for optionally treating .onion http as HTTPS. Can we resume the work also on that? Do we have a meta?  


==== Build and vendoring ====
==== Build and vendoring ====


* [https://bugzilla.mozilla.org/show_bug.cgi?id=1393901 '''Bug 1393901''']: WebRTC on mingw (various commits, [https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/41021 #41021 (closed)], [https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/41459 #41459 (closed)], [https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/42758 #42758 (moved)]). Our patches work, at least in ESR 128, but vendoring these 3rd party libs isn't trivial in Firefox, we might need help to prepare the patches as you like.  
* [https://bugzilla.mozilla.org/show_bug.cgi?id=1393901 '''Bug 1393901''']: WebRTC on mingw (various commits, [https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/41021 #41021], [https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/41459 #41459], [https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/42758 #42758 (moved)]). Our patches work, at least in ESR 128, but vendoring these 3rd party libs isn't trivial in Firefox, we might need help to prepare the patches as you like.  
* [https://bugzilla.mozilla.org/show_bug.cgi?id=1115874 '''Bug 1115874''']: make openh264 reproducible. We have the knowledge to do it, but we need to check how upstream wants to do it ([https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/15910 #15910]).  
* [https://bugzilla.mozilla.org/show_bug.cgi?id=1115874 '''Bug 1115874''']: make openh264 reproducible. We have the knowledge to do it, but we need to check how upstream wants to do it ([https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/15910 #15910]).  
* [https://bugzilla.mozilla.org/show_bug.cgi?id=1902067 '''Bug 1902067''']: official support for the gnullvm Rust target. We've been using it for almost a year now, with success ([https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/issues/29320 tor-browser-build#29320 (closed)])  
* [https://bugzilla.mozilla.org/show_bug.cgi?id=1902067 '''Bug 1902067''']: official support for the gnullvm Rust target. We've been using it for almost a year now, with success ([https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/issues/29320 tor-browser-build#29320])


=== P3 ===
=== P3 ===
Line 47: Line 46:


* ''BB 42739: Use the brand name for profile error messages'' ([https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/41d4938d6d444c9146d63babee857f349db6551e 41d4938d])  
* ''BB 42739: Use the brand name for profile error messages'' ([https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/41d4938d6d444c9146d63babee857f349db6551e 41d4938d])  
* ''BB 42194: Fix blank net error page on failed DNS resolution with active proxy.'' ([https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/7e637a11bfcf28a6092e76e5d9fbe9940d27690f 7e637a11])
** Might need some guidance: is the empty ''catch'' fine for upstream?
* ''BB 43101: Deep link to the startup security warning explanation.'' ([https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/73048f9b83d2e2c9402b9d7066b4804eff3862bf 73048f9b])  
* ''BB 43101: Deep link to the startup security warning explanation.'' ([https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/73048f9b83d2e2c9402b9d7066b4804eff3862bf 73048f9b])  
* ''BB 41854: Allow overriding download spam protection.'' and ''BB 42832: Download spam prevention exemption for browser extensions.'' ([https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/11b584757f6b6f05b6cfff39b666fcefe489cea4 11b58475], [https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/c8e60400261b01798423f8d2eda91c1938a565c7 c8e60400])  
* ''BB 41854: Allow overriding download spam protection.'' and ''BB 42832: Download spam prevention exemption for browser extensions.'' ([https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/11b584757f6b6f05b6cfff39b666fcefe489cea4 11b58475], [https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/c8e60400261b01798423f8d2eda91c1938a565c7 c8e60400])  
Line 70: Line 67:
* ''BB 33955: When copying an image only copy the image contents to the clipboard'', maybe with a pref?  
* ''BB 33955: When copying an image only copy the image contents to the clipboard'', maybe with a pref?  
* ''BB 41791: Omit the source URL when copying page contents to the clipboard'' ([https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/33fc8474a22c13b222f010cdbae00f613b4c22e6 33fc8474]) with ''MOZ_PROXY_BYPASS_PROTECTION''?  
* ''BB 41791: Omit the source URL when copying page contents to the clipboard'' ([https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/33fc8474a22c13b222f010cdbae00f613b4c22e6 33fc8474]) with ''MOZ_PROXY_BYPASS_PROTECTION''?  
* ''Customize moz-toggle for tor-browser.'' ([https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/d999affc921dedaf0304603331e2cc95fbbe68e0 d999affc], [https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/41333 #41333 (closed)], [https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/40837 #40837 (closed)])  
* ''Customize moz-toggle for tor-browser.'' ([https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/d999affc921dedaf0304603331e2cc95fbbe68e0 d999affc], [https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/41333 #41333], [https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/40837 #40837])  
** Some Bugs might already exist, but I don't know.  
** Some Bugs might already exist, but I don't know.  
* ''TB 41822: Unconditionally disable default browser UX in about:preferences'' ([https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/05ac42bf7af5b5bcb4a18f64d5001b20d1903973 05ac42bf]) behind a pref?  
* ''TB 41822: Unconditionally disable default browser UX in about:preferences'' ([https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/05ac42bf7af5b5bcb4a18f64d5001b20d1903973 05ac42bf]) behind a pref?


==== Wish list ====
==== Wish list ====
Line 83: Line 80:
* [https://bugzilla.mozilla.org/show_bug.cgi?id=1895857 Bug 1895857] to drop BB 43072, [https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/4e8ccc775a923f2f19e2d7a0ea728fb8e965a7a0 4e8ccc77]  
* [https://bugzilla.mozilla.org/show_bug.cgi?id=1895857 Bug 1895857] to drop BB 43072, [https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/4e8ccc775a923f2f19e2d7a0ea728fb8e965a7a0 4e8ccc77]  
* [https://bugzilla.mozilla.org/show_bug.cgi?id=1790187 Bug 1790187] to drop BB 41483, [https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/2e8f8a65fd7edbcdd4fafca1c0e9c7f9dcf50a9b 2e8f8a65]  
* [https://bugzilla.mozilla.org/show_bug.cgi?id=1790187 Bug 1790187] to drop BB 41483, [https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/2e8f8a65fd7edbcdd4fafca1c0e9c7f9dcf50a9b 2e8f8a65]  
* [https://bugzilla.mozilla.org/show_bug.cgi?id=1940296 Bug 1940296] so that our pref becomes a defense-in-depth ([https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/43236 #43236 (closed)])  
* [https://bugzilla.mozilla.org/show_bug.cgi?id=1940296 Bug 1940296] so that our pref becomes a defense-in-depth ([https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/43236 #43236])  
* [https://bugzilla.mozilla.org/show_bug.cgi?id=1261591 Bug 1261591] as an official way to disable NTLM at build time (and replace ''BB 12974: Disable NTLM and Negotiate HTTP Auth'', [https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/cef5b636f03cdc785ca6905214879599b69fd3bc cef5b636]; close [https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/27602 #27602])  
* [https://bugzilla.mozilla.org/show_bug.cgi?id=1261591 Bug 1261591] as an official way to disable NTLM at build time (and replace ''BB 12974: Disable NTLM and Negotiate HTTP Auth'', [https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/cef5b636f03cdc785ca6905214879599b69fd3bc cef5b636]; close [https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/27602 #27602])  
* Reconsider the ''LoadLibrary'' protection disabled in [https://bugzilla.mozilla.org/show_bug.cgi?id=1869397 Bug 1869397]  
* Reconsider the ''LoadLibrary'' protection disabled in [https://bugzilla.mozilla.org/show_bug.cgi?id=1869397 Bug 1869397]  
Line 99: Line 96:
* ''BB 16285: Exclude ClearKey system for now'' ([https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/cdcd7ee6d6ea3f2fa8a4bd77963af256afde3974 cdcd7ee6]): can we make ''--disable-eme'' remove clearkey again? It was changed in [https://bugzilla.mozilla.org/show_bug.cgi?id=1300654 Bug 1300654]  
* ''BB 16285: Exclude ClearKey system for now'' ([https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/cdcd7ee6d6ea3f2fa8a4bd77963af256afde3974 cdcd7ee6]): can we make ''--disable-eme'' remove clearkey again? It was changed in [https://bugzilla.mozilla.org/show_bug.cgi?id=1300654 Bug 1300654]  
* Some compile-time flag to disable the Windows PB proxy exe (also part of ''Tweaks to the build system'', [https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/f4c94fc48c9b5e234efbd38b883f86858814e8b6 f4c94fc4])  
* Some compile-time flag to disable the Windows PB proxy exe (also part of ''Tweaks to the build system'', [https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/f4c94fc48c9b5e234efbd38b883f86858814e8b6 f4c94fc4])  
* ''BB 40283: Workaround for the file upload bug'' ([https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/76ca7566c1690e640c263b7a7888ce28ef610304 76ca7566]): I think it's still needed, but it also depends on some preference we set? See the original analysis in [https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/40283 #40283 (closed)].  
* ''BB 40283: Workaround for the file upload bug'' ([https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/76ca7566c1690e640c263b7a7888ce28ef610304 76ca7566]): I think it's still needed, but it also depends on some preference we set? See the original analysis in [https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/40283 #40283].  
* An "official" way to disable ''RemoteSettings'' (currently we have ''BB 31740: Remove some unnecessary RemoteSettings instances'', [https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/b5d5a565824437890549527d48f9e1f305b82cac b5d5a565])  
* An "official" way to disable ''RemoteSettings'' (currently we have ''BB 31740: Remove some unnecessary RemoteSettings instances'', [https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/b5d5a565824437890549527d48f9e1f305b82cac b5d5a565])  
* ''BB 43386: Use Firefox in the UA in RFP-exempt request.'' ([https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/626d276ed28fd10acdb875dec94d1cecae615b1a 626d276e]): would other forks benefit from a way to force compatibility mode without the actual product name?  
* ''BB 43386: Use Firefox in the UA in RFP-exempt request.'' ([https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/626d276ed28fd10acdb875dec94d1cecae615b1a 626d276e]): would other forks benefit from a way to force compatibility mode without the actual product name?  
Line 116: Line 113:
* ''BB 26345: Hide tracking protection UI'' ([https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/dcc729b19c4c8973a4b54b0d28f4bdf4bbaa4cc8 dcc729b1]): we don't use ETP because we've never audited/compared it with our threat model, maybe something to discuss at a certain point ([https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/30939 #30939])  
* ''BB 26345: Hide tracking protection UI'' ([https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/dcc729b19c4c8973a4b54b0d28f4bdf4bbaa4cc8 dcc729b1]): we don't use ETP because we've never audited/compared it with our threat model, maybe something to discuss at a certain point ([https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/30939 #30939])  
* ''TB 12647: Support symlinks in the updater.'' ([https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/451f22691cfd9cfda6e8d878868eec9aaea73f58 451f2269]): we have an issue about removing it ([https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/34319 #34319])  
* ''TB 12647: Support symlinks in the updater.'' ([https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/451f22691cfd9cfda6e8d878868eec9aaea73f58 451f2269]): we have an issue about removing it ([https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/34319 #34319])  
* ''TB 40073: Disable remote Public Suffix List fetching'' ([https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/84e9763d5a1ea6e0428fe51e1208e9d4eab8e060 84e9763d]): will not be needed anymore once we implement changes described in [https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/41831 #41831 (closed)] and [https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/41022 #41022] for onion aliases  
* ''TB 40073: Disable remote Public Suffix List fetching'' ([https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/84e9763d5a1ea6e0428fe51e1208e9d4eab8e060 84e9763d]): will not be needed anymore once we implement changes described in [https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/41831 #41831] and [https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/41022 #41022] for onion aliases  
* ''TB 21952: Implement Onion-Location'' ([https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/23edd89d8188fd3da424a4cfb0f31a58666e38e0 23edd89d]): needs complete refactor, in the past we talked also with Brave (related issues: [https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/40100 #40100], [https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/42688 #42688], [https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/42736 #42736]  
* ''TB 21952: Implement Onion-Location'' ([https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/23edd89d8188fd3da424a4cfb0f31a58666e38e0 23edd89d]): needs complete refactor, in the past we talked also with Brave (related issues: [https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/40100 #40100], [https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/42688 #42688], [https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/42736 #42736]  
* New identity&Firefox's "fire" button: should we start a conversation to incrementally move our new identity in this new upstream functionality? I don't know if there's a specific Bug for that.  
* New identity&Firefox's "fire" button: should we start a conversation to incrementally move our new identity in this new upstream functionality? I don't know if there's a specific Bug for that.  
* For Android we need to go through all our patches downstream first, so it's hard to tell what we currently need (except for what I've already written above)
* For Android we need to go through all our patches downstream first, so it's hard to tell what we currently need (except for what I've already written above)
== Uplifted Bugs ==
* [https://bugzilla.mozilla.org/show_bug.cgi?id=1845105 Bug 1845105]: uplifted into 141 ''BB 41901: Hardcode normalized FontSubstitutes.'', [https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/1539bc09a28bb0b457d14579b39885cb0d332aaa 1539bc09]
* [https://bugzilla.mozilla.org/show_bug.cgi?id=1900648 Bug 1900648] (uplift for ''BB 42288: Allow language spoofing in status messages.'', [https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/f91b57d594f70be9a13c296e0a60cca099eee97b f91b57d5]) uplifted into 140


== Uplift Bugs ==
== Uplift Bugs ==
Line 126: Line 128:
{
{
   "blocks":"1958496",
   "blocks":"1958496",
   "include_fields": "id, summary, status, assigned_to, whiteboard, user_story",
   "include_fields": "id, summary, status, assigned_to, whiteboard",
   "order": "status, user_story, id"
   "order": "status, user_story, id"
}
}
Line 133: Line 135:
== See also ==
== See also ==


* [[Security/Fusion/Resources|Current Resources for Fusion]]
<subpages page="Security/Fusion" sort="asc" showpage="no" kidsonly="yes" limit="500"/>
* [https://torpatch.es/128 Tor Browser Patches]

Latest revision as of 15:30, 30 June 2025

Page with uplift information from Tor Browser 14 to mozilla-central before reaching esr140. Patches need to land before May 22 to ride the train normally. For 140 the effort focuses on privacy.resistFingerprinting and everything that doesn't require us to land the Tor proxy code.

This page is meant to have a more editable version of Tor uplift priorities.

Bug 1958496 is meant to track the progress on the project.

Automatic for linking tor patches with bugzilla bugs: Tor Browser Patches

Status

As usual, commit hashes will become outdated, and the most recent active branch should be considered.

P1: patches in Phab, blocked review

P2: need help from upstream!

  • Bug 1746668: l10n leak important improvements, see comment 28 with a plan I outlined, we need approval, or to somehow review it and then get started with it
    • manuel: not sure who to ask right now, zibi left mozilla recently, so we need to find someone else to ask
  • Bug 1944251: drop font.system.whitelist, make TB consistent with Firefox and improve compatibility (#43322)
  • Bug 1397996: scrollbar leaks, we want an upstream take on it (tradeoffs with accessibility) (#22137)
  • Bug 1676104: this is not a P1 only because it should affect UI and/or AC requests (e.g., addons?). Our current patch is BB 40171: Make WebRequest and GeckoWebExecutor First-Party aware (5240a3b5); see also #40171 (still open for uplift).
  • Bug 1869821: intl.accept_languages is very dangerous. P2 only because Firefox has localized builds rather than multi-lingual like us and because we might want to talk about our patches first (BB 42084: Ensure English spoofing works even if preferences are set out of order. + BB 41930: Remove the UI to customize accept_languages., 2d23c333 and 79f3e7cd). Good analysis in #41930.
  • BB 30605: Honor privacy.spoof_english in Android (160f0b8a), no Bug yet, as far as I know. We'll need some help from upstream because it needs also an additional part for the UI (TB 40087 [android]: Implement a switch for spoof English., 7e749377, for us), and I think we've never uplifted something user-exposed.
  • BB 42562: Normalized the Accepted Languages on Android. (299ae962): this goes probably with spoof English. In any case, locale protection is pretty weak on Firefox, especially on Android (even though Android has a lot of other problems)
  • Bug 1594455: LB styling/cosmetics. Our UX team investigated a lot and we think our LB is really good looking, but Moz UX team will probably want to check it first. We could also do it in multiple steps (e.g., rounded corner and vertical center first, custom background in another bug)
  • Bug 1923368: disk leak, I'd like to force-inline more file types, not only PDFs (partially implemented downstream as BB 42220, b784ed28)
  • Bug 1475811: nobody really understand how these speculative connections work . Downstream issue: #31075 and !797, to replace BB 26353: Prevent speculative connect that violated FPI. (775e0460)
  • Bug 1428034: has something changed in the last 6 years? Our patch is BB 30541: Disable WebGL readPixel() for web content (44ff0b2c)
  • What about Wayland and fingerprinting?
    • E.g., Bug 1940296 for vsync, but we currently force Wayland off because we don't know how fingerprintable it is
    • See also #42645
  • TB 23247: Communicating security expectations for .onion (646be9d3): over the years, some patches have been uplifted for optionally treating .onion http as HTTPS. Can we resume the work also on that? Do we have a meta?

Build and vendoring

  • Bug 1393901: WebRTC on mingw (various commits, #41021, #41459, #42758 (moved)). Our patches work, at least in ESR 128, but vendoring these 3rd party libs isn't trivial in Firefox, we might need help to prepare the patches as you like.
  • Bug 1115874: make openh264 reproducible. We have the knowledge to do it, but we need to check how upstream wants to do it (#15910).
  • Bug 1902067: official support for the gnullvm Rust target. We've been using it for almost a year now, with success (tor-browser-build#29320)

P3

Upliftable

Maybe with some help

  • BB 42739: Use the brand name for profile error messages (41d4938d)
  • BB 43101: Deep link to the startup security warning explanation. (73048f9b)
  • BB 41854: Allow overriding download spam protection. and BB 42832: Download spam prevention exemption for browser extensions. (11b58475, c8e60400)
    • Might need some refinement: #43224
    • Might already have a MozBug?
  • BB 42616: Remove VideoCaptureTest.kt. (e3174c36)
    • Cannot be uplifted as it is, we should exclude the file when MOZ_WEBRTC is false/undefined rather than deleting the file
  • BB 33852: Clean up about:logins (LockWise) to avoid mentioning sync, etc. (f183b147)
    • Partially upliftable (the part to disable the create login with nocertdb)
  • BB 40002: Remove about:ion (ea34c897): could probably use an environment variable or some compile flag...
  • BB 42716: Disable unwanted about: pages (73f40837)
    • Partial (I like about:robots )
  • BB 41599: Always return an empty string as network ID (888ca9a3), with MOZ_PROXY_BYPASS_PROTECTION?
  • BB 28369: Stop shipping pingsender executable (69e3f90b), with the telemetry build flags
  • BB 42070: Hide "Use smooth scrolling" from settings (8d84a9ea)
  • BB 41739: Remove "Website appearance" from about:preferences. (b8cd05cc)
    • Also needs proper wiring with RFP/FPP
  • BB 42774: Always hide the third-pary certs UI. (0c388363)
    • We could probably replace the base browser constant with nocertdb
  • BB 33955: When copying an image only copy the image contents to the clipboard, maybe with a pref?
  • BB 41791: Omit the source URL when copying page contents to the clipboard (33fc8474) with MOZ_PROXY_BYPASS_PROTECTION?
  • Customize moz-toggle for tor-browser. (d999affc, #41333, #40837)
    • Some Bugs might already exist, but I don't know.
  • TB 41822: Unconditionally disable default browser UX in about:preferences (05ac42bf) behind a pref?

Wish list

Solving these bugs would help us.

Maybe we have downstream patches that aren't directly upliftable, but they could help us

  • Bug 1799153 to drop BB 41454, d953b1d0
  • Bug 1895857 to drop BB 43072, 4e8ccc77
  • Bug 1790187 to drop BB 41483, 2e8f8a65
  • Bug 1940296 so that our pref becomes a defense-in-depth (#43236)
  • Bug 1261591 as an official way to disable NTLM at build time (and replace BB 12974: Disable NTLM and Negotiate HTTP Auth, cef5b636; close #27602)
  • Reconsider the LoadLibrary protection disabled in Bug 1869397
  • Bug 1851968 to improve user experience when force-inlining PDFs (and possibly other files) (#42220)
  • Bug 1909736, including proper wiring with the UI (for UI we have in BB 43117: Hide "Always underline links" from settings., 1df296b1)
  • Bug 1429838, we have a patch (BB 27604: Fix addon issues when moving the profile directory, ddc87498) but according to the upstream review it isn't too good. Maybe we can start working again on this (but the patch is fine for us, I guess, so P3 rather than P1/P2?)
  • Bug 1711084: this might be important for Firefox. We have a patch that doesn't work for Firefox (according to Tom) (BB 40432: Prevent probing installed applications, 4e946eeb). However, if we start working on it again, we might be able to create a patch that works both for Firefox and for Tor Browser.

P4

Changes to review first, and see if there's anything upstream can do, or patches that are worth mentioning, even though they're too specific to us to actually uplift.

  • Bug 1763770 (part of Tweaks to the build system, f4c94fc4): we hack a Gradle file to generate fat AARs without a proper artifact setup
  • BB 28125: Prevent non-Necko network connections (1211e4d7): maybe can we export the compile time flag for proxy bypass protections upstream?
  • BB 16285: Exclude ClearKey system for now (cdcd7ee6): can we make --disable-eme remove clearkey again? It was changed in Bug 1300654
  • Some compile-time flag to disable the Windows PB proxy exe (also part of Tweaks to the build system, f4c94fc4)
  • BB 40283: Workaround for the file upload bug (76ca7566): I think it's still needed, but it also depends on some preference we set? See the original analysis in #40283.
  • An "official" way to disable RemoteSettings (currently we have BB 31740: Remove some unnecessary RemoteSettings instances, b5d5a565)
  • BB 43386: Use Firefox in the UA in RFP-exempt request. (626d276e): would other forks benefit from a way to force compatibility mode without the actual product name?
  • Bug 1910912 to replace BB 42835: Create an actor to filter file data transfers (0f34b048). I wonder if we should discuss usability/threat model first (I can't access the Bug)
  • BB 42019: Empty browser's clipboard on browser shutdown (24981b16): IIRC we had several complains about the UX, so I don't know if upstream would be interested even with default disabled
  • Bug 1752975, to support portable/standalone in Firefox. It's something we have in our threat model, but it's harder and harder to provide it. We have a few issues about this, and a patch for relative profile directory (BB 9173: Change the default Firefox profile directory to be relative., aa3fcbf1)
  • TB 11641: Disable remoting by default.: things are changing upstream with the next ESR. We might want to check if we still want this kind of protection (we probably do, for linkability) and see how things have changed upstream to reconcile them with our patch.
  • TB 8324: Prevent DNS proxy bypasses caused by Drag&Drop (af1af9f6): we were never been able to reproduce the problem (DNS proxy bypass) with modern system

Patches to assess

Could not reconstruct the original reason to have them or patches that might be replaced or dropped.

  • BB 42630: Disable LaterRun module. (5b2be44c)
  • BB 41327: Disable UrlbarProviderInterventions (d9394d1e)
  • BB 26345: Hide tracking protection UI (dcc729b1): we don't use ETP because we've never audited/compared it with our threat model, maybe something to discuss at a certain point (#30939)
  • TB 12647: Support symlinks in the updater. (451f2269): we have an issue about removing it (#34319)
  • TB 40073: Disable remote Public Suffix List fetching (84e9763d): will not be needed anymore once we implement changes described in #41831 and #41022 for onion aliases
  • TB 21952: Implement Onion-Location (23edd89d): needs complete refactor, in the past we talked also with Brave (related issues: #40100, #42688, #42736
  • New identity&Firefox's "fire" button: should we start a conversation to incrementally move our new identity in this new upstream functionality? I don't know if there's a specific Bug for that.
  • For Android we need to go through all our patches downstream first, so it's hard to tell what we currently need (except for what I've already written above)

Uplifted Bugs

  • Bug 1845105: uplifted into 141 BB 41901: Hardcode normalized FontSubstitutes., 1539bc09
  • Bug 1900648 (uplift for BB 42288: Allow language spoofing in status messages., f91b57d5) uplifted into 140

Uplift Bugs

Full Query
ID Summary Status Assigned to Whiteboard
1397996 scrollbar thickness reveals platform NEW [tor][fingerprinting][fp-triaged][tor 22137]
1428034 Apply Resist Fingerprinting Protection to WebGL's readPixels method UNCONFIRMED [fingerprinting] [gfx-noted] [fp-triaged] [tor 30541]
1475811 Entering URLs in address bar violates FPI NEW Pier Angelo Vendrame [tor 26353][tor 31075][dfpi-ok]
1594455 Change the letterboxing background to match the theme, and reposition the content NEW Giorgio Maone [:ma1] [tor 32220]
1666613 Display XML error pages in the browser directionality while force LTRing the XML code itself, without the use of intl.css NEW Pier Angelo Vendrame
1676104 Make WebRequest and GeckoWebExecutor First-Party aware NEW [tor 40171] [geckoview:2023?]
1746668 Use web exposed locales instead of regional locales where appropriate ASSIGNED Pier Angelo Vendrame
1825033 Badge descriptions should not use brand-product-name, but hardcode Mozilla RESOLVED Henry Wilkes (they/them) [:henry-x] [addons-jira][tor 41698]
1869821 Consider clearing intl.accept_languages when changing app language with RFP NEW [tor 42084][tor 41930]
1900648 XSLT error messages can leak browser UI language RESOLVED Pier Angelo Vendrame [tor 42288][fingerprinting]
1918690 Extend canvas randomization permission test RESOLVED Fatih Kilic [:fkilic]
1923368 Extend browser.download.open_pdf_attachments_inline to other file types NEW [tor 42220]
1944251 Consider deprecating font whitelist NEW [tor 43322]
1958503 Security features warning links to Firefox installation support page with incomplete info RESOLVED [tor 43101]
1958504 Blank net error page on failed DNS resolution with active proxy RESOLVED :Gijs (he/him) [tor 42194]
1958506 resistFingerprinting: Reduce scrollbar width variation on Windows OS RESOLVED [tor 42528]
1959305 When Parental Controls Service is disabled, DNS Over HTTPS settings fail to work with uncaught exception RESOLVED Dan Ballard (Tor Browser Dev) [necko-triaged][necko-priority-new][tor 43544]

17 Total; 10 Open (58.82%); 7 Resolved (41.18%); 0 Verified (0%);


See also