Closed
Bug 1477773
Opened 6 years ago
Closed 6 years ago
layout.css.visited_links_enabled doesn't seem to completely disable :visited
Categories
(Core :: CSS Parsing and Computation, defect)
Tracking
()
RESOLVED
FIXED
mozilla63
People
(Reporter: mismith, Assigned: emilio)
References
Details
(Whiteboard: [pixel-stealing])
Attachments
(3 files)
46 bytes,
text/x-phabricator-request
|
xidorn
:
review+
|
Details | Review |
46 bytes,
text/x-phabricator-request
|
xidorn
:
review+
|
Details | Review |
9.54 KB,
patch
|
lizzard
:
approval-mozilla-esr60+
|
Details | Diff | Splinter Review |
In theory, turning off layout.css.visited_links_enabled should mitigate bug 1455898 - but it doesn't. Some sort of :visited-related processing still seems to be happening even with this pref off. Maybe something was broken in the switch to Stylo?
Reporter | ||
Comment 1•6 years ago
|
||
To clarify: turning off layout.css.visited_links_enabled does make all links *appear* unvisited, visually.
Reporter | ||
Updated•6 years ago
|
Component: Graphics → CSS Parsing and Computation
Flags: needinfo?(emilio)
Assignee | ||
Updated•6 years ago
|
Assignee: nobody → emilio
Flags: needinfo?(emilio)
Assignee | ||
Comment 2•6 years ago
|
||
We force a repaint from ContentStateChangedInternal if visited links are disabled, and that's observable. Let's cut it off as early as we can to avoid timing attacks even when :visited is disabled.
Assignee | ||
Comment 3•6 years ago
|
||
We match with AllLinksVisitedAndUnvisited for style invalidation, so all this stuff is just not needed. The comment points to the attribute tests in bug 1328509, but those still trivially pass with this change. I think this was unneeded since I introduced AllLinksVisitedAndUnvisited, or maybe since https://github.com/servo/servo/pull/19520. In any case it doesn't really matter, and I already had done this cleanup in my WIP patches for bug 1406622, but I guess this is a slightly more suitable place to land them :)
Assignee | ||
Comment 4•6 years ago
|
||
I don't think I have access to the test-case, but could you try a build from: https://treeherder.mozilla.org/#/jobs?repo=try&revision=d2cf3ba487dc6b246baf5a8e43462742d8403b6b And confirm it does what you expect? Thanks!
Flags: needinfo?(lists)
Assignee | ||
Comment 5•6 years ago
|
||
Nvm, I do have access, and I can confirm that a build with these patches makes the test-case fail.
Flags: needinfo?(lists)
Comment 6•6 years ago
|
||
Comment on attachment 8999863 [details] Bug 1477773: no-op visited changes earlier if visited links are disabled. Xidorn Quan [:xidorn] UTC+10 has approved the revision.
Attachment #8999863 -
Flags: review+
Comment 7•6 years ago
|
||
Comment on attachment 8999864 [details] Bug 1477773: Simplify visited-related code in invalidation. Xidorn Quan [:xidorn] UTC+10 has approved the revision.
Attachment #8999864 -
Flags: review+
Pushed by emilio@crisal.io: https://hg.mozilla.org/integration/mozilla-inbound/rev/dc9a17cc8a62 no-op visited changes earlier if visited links are disabled. r=xidorn
Pushed by emilio@crisal.io: https://hg.mozilla.org/integration/mozilla-inbound/rev/4c42d90e56a6 Simplify visited-related code in invalidation. r=xidorn
Comment 10•6 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/dc9a17cc8a62 https://hg.mozilla.org/mozilla-central/rev/4c42d90e56a6
Status: NEW → RESOLVED
Closed: 6 years ago
status-firefox63:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla63
Updated•6 years ago
|
Whiteboard: [pixel-stealing]
Comment 11•6 years ago
|
||
Emilio, I presume this also affects esr60? Would you be willing to rebase these there to bring them down for Tor?
Assignee | ||
Comment 12•6 years ago
|
||
Yeah, it does. Here's a patch with the first commit (second was just cleanup so didn't bother rebasing it), and the fix for bug 1488155 as well.
Flags: needinfo?(emilio)
Comment 13•6 years ago
|
||
Comment on attachment 9022267 [details] [diff] [review] Rebase for ESR. [ESR Uplift Approval Request] If this is not a sec:{high,crit} bug, please state case for ESR consideration: Tor Browser would like to take these patches to mitigate history stealing attacks in the configuration where Tor Browser saves browsing history. User impact if declined: Tor would have to apply it manually. Fix Landed on Version: 63.0a1 / 20180816100035 Risk to taking this patch: Medium Why is the change risky/not risky? (and alternatives if risky): I put it at Medium because while it's been tested for months, it's a medium-sized patch. String or UUID changes made by this patch: None
Attachment #9022267 -
Flags: approval-mozilla-esr60?
Updated•6 years ago
|
Comment 14•6 years ago
|
||
Comment on attachment 9022267 [details] [diff] [review] Rebase for ESR. Makes sense to keep ESR60.0.4 in line with 64 release to prevent this type of attack and protect user privacy.
Attachment #9022267 -
Flags: approval-mozilla-esr60? → approval-mozilla-esr60+
Comment 15•6 years ago
|
||
bugherder uplift |
https://hg.mozilla.org/releases/mozilla-esr60/rev/ec13fda7c9b0
You need to log in
before you can comment on or make changes to this bug.
Description
•