Closed Bug 1644738 Opened 5 years ago Closed 5 years ago

Strict Enhanced Tracking Protection blocking content even when ETP is disabled for a site

Categories

(Core :: Privacy: Anti-Tracking, defect, P1)

77 Branch
defect

Tracking

()

VERIFIED FIXED
mozilla80
Tracking Status
firefox-esr68 --- unaffected
firefox-esr78 --- verified
firefox77 --- wontfix
firefox78 --- wontfix
firefox79 --- verified
firefox80 --- verified

People

(Reporter: joseluisbolos, Assigned: timhuang)

References

(Regression)

Details

(Keywords: regression)

Attachments

(5 files)

Attached image Firefox-77-tracking.jpg

User Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36

Steps to reproduce:

  1. Create a new, empty Firefox profile
  2. Open Firefox
  3. Enable Strict enhanced tracking protection
  4. Browse https://www.nature.com/articles/nature15393 - Ads are missing (as expected).
  5. Click on the shield to disable enhanced tracking protection for that site
  6. Reload the page

Actual results:

Main content loads fine but some third parties (like the ads) fail to load.

Console displays:
The resource at “<URL>” was blocked because content blocking is enabled. (x6)

Expected results:

Page should have loaded fully and I would expect that no third parties are blocked, as enhanced tracking protection is disabled.

Attached file about:support info

Bugbug thinks this bug should belong to this component, but please revert this change in case of error.

Component: Untriaged → Privacy: Anti-Tracking
Product: Firefox → Core
Attached file about:support
Can confirm this bug - was able to reproduce following the steps provided on: https://www.adelaidereview.com.au/issues/484/ ```

I'm also experiencing this bug on https://www.adelaidereview.com.au/issues/484/ & can repro following joseluisbolos' instructions. Thanks for the detailed report joseluisbolos!

Thanks for the reports! I can reproduce this on the latest Nightly as well. Looks like this has been broken since 76 release. I ran mozregression to narrow it down:

2020-06-29T13:41:23.727000: INFO : Narrowed integration regression window from [7e133379, 120c7c6a] (3 builds) to [9b889a0e, 120c7c6a] (2 builds) (~1 steps left)
2020-06-29T13:41:23.733000: DEBUG : Starting merge handling...
2020-06-29T13:41:23.733000: DEBUG : Using url: https://hg.mozilla.org/integration/autoland/json-pushes?changeset=120c7c6a1961c2caf92d3eb2859048f50c23fc54&full=1
2020-06-29T13:41:23.733000: DEBUG : redo: attempt 1/3
2020-06-29T13:41:23.733000: DEBUG : redo: retry: calling _default_get with args: ('https://hg.mozilla.org/integration/autoland/json-pushes?changeset=120c7c6a1961c2caf92d3eb2859048f50c23fc54&full=1',), kwargs: {}, attempt #1
2020-06-29T13:41:23.736000: DEBUG : urllib3.connectionpool: Resetting dropped connection: hg.mozilla.org
2020-06-29T13:41:24.158000: DEBUG : urllib3.connectionpool: https://hg.mozilla.org:443 "GET /integration/autoland/json-pushes?changeset=120c7c6a1961c2caf92d3eb2859048f50c23fc54&full=1 HTTP/1.1" 200 None
2020-06-29T13:41:24.210000: DEBUG : Found commit message:
Bug 1612378 - Part 11: Change isOnContentBlockingAllowList in storageAccessAPIHelpers.js to use allowListed flag instead of permission. r=baku

Because we remove the content blocking allow list permission from the
permission preload list. The permission in the third party window might
not be available when we check it. So, we move to check the allowListed
flag which is passed by the test framework instead of check the
permission.

Depends on D66737

Differential Revision: https://phabricator.services.mozilla.com/D68189

Tim would you mind to look into this?

Severity: -- → S2
Flags: needinfo?(tihuang)
Keywords: regression
Priority: -- → P1
Regressed by: 1612378
Has Regression Range: --- → yes

Sure, I will take a look.

Assignee: nobody → tihuang
Status: UNCONFIRMED → ASSIGNED
Ever confirmed: true
Flags: needinfo?(tihuang)

We also need to propagate the IsOnContentBlockingAllowList to the script
generated document. For this kind of document, it won't have the
CookieJarSettings at the first place. It will generate its
CookieJarSettings when someone requests it. And we need to propagate the
flag when generating the CookieJarSettings in this case. Or the script
generated document will have a wrong IsOnContentBlockingAllowList flag.

Pushed by tihuang@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/82fef53594b0 Propagate the IsOnContentBlockingAllowList in CookieJarSettings to the script generated document. r=baku
Status: ASSIGNED → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla80

I can confirm that this issue has been fixed in the latest Nightly.

Attached patch esr.patchSplinter Review

Comment on attachment 9160861 [details] [diff] [review]
esr.patch

ESR Uplift Approval Request

  • If this is not a sec:{high,crit} bug, please state case for ESR consideration: Disabling ETP for a site is broken.
  • User impact if declined: The user cannot disable the ETP protection for a site.
  • Fix Landed on Version: 80
  • Risk to taking this patch: Low
  • Why is the change risky/not risky? (and alternatives if risky): This patch is not risky since it is a small fix.
  • String or UUID changes made by this patch: None
Attachment #9160861 - Flags: approval-mozilla-esr78?

Does this need a Beta approval request too?

Flags: needinfo?(tihuang)

Thanks Ryan,

Yes, I think this also needs a Beta approval, I will do it today.

Flags: needinfo?(tihuang)

Comment on attachment 9160435 [details]
Bug 1644738 - Propagate the IsOnContentBlockingAllowList in CookieJarSettings to the script generated document. r?baku!

Beta/Release Uplift Approval Request

  • User impact if declined: The user cannot disable the ETP protection for a site.
  • Is this code covered by automated tests?: No
  • Has the fix been verified in Nightly?: Yes
  • Needs manual test from QE?: Yes
  • If yes, steps to reproduce: 1. Create a new, empty Firefox profile
  1. Open Firefox
  2. Enable Strict enhanced tracking protection
  3. Browse https://www.nature.com/articles/nature15393 - Ads are missing (as expected).
  4. Click on the shield to disable enhanced tracking protection for that site
  5. Reload the page
  6. Check the console, there should be no blocking message
  • List of other uplifts needed: None
  • Risk to taking this patch: Low
  • Why is the change risky/not risky? (and alternatives if risky): This patch is not risky since it is a small fix.
  • String changes made/needed: None
Attachment #9160435 - Flags: approval-mozilla-beta?
Flags: qe-verify+

Comment on attachment 9160435 [details]
Bug 1644738 - Propagate the IsOnContentBlockingAllowList in CookieJarSettings to the script generated document. r?baku!

the lack of automated tests seems unfortunate..

approved for 79.0b4.

Attachment #9160435 - Flags: approval-mozilla-beta? → approval-mozilla-beta+
QA Whiteboard: [qa-triaged]

Hello! I have managed to reproduce the issue following the STR provided in the description using Firefox Nightly 79.0a1 (2020-06-03).

I can confirm that the issue is fixed on firefox 79.0b4 and Nightly 80.0a1 (2020-07-07) on Windows 10, Ubuntu 18.04 LTS and MacOS 10.15.6

Status: RESOLVED → VERIFIED
Flags: qe-verify+
Comment on attachment 9160861 [details] [diff] [review] esr.patch Approved for 78.1esr.
Attachment #9160861 - Flags: approval-mozilla-esr78? → approval-mozilla-esr78+

Hello! I can confirm that the issue is fixed on Firefox 78.1.0esr on Windows 10, Ubuntu 18.04 LTS and MacOS 10.15.6 .

The build was donwloaded from https://treeherder.mozilla.org/#/jobs?repo=mozilla-esr78&selectedTaskRun=bz0inGBPSV6jIsn0mV-HWw.0 with the date of 2020-07-14.

QA Whiteboard: [qa-triaged]
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: