window.sessionStorage is not isolated by the top-level site, and thus is a cross-site tracking vector. Example: 1. A user visits example.com which embeds tracker.example 2. tracker.example checks window.sessionStorage. If empty it reads an ID from persistent, site-isolated storage (e.g., localStorage) and writes it to sessionStorage. 3. The user visits news.example, which also embeds tracker.example. 4. tracker.example checks window.sessionStorage, sees the unique ID, and writes it out to persistent site-isolated storage under news.example. 5. Repeat as the user browsers the web.
<rdar://problem/62215013>
This is actually: <rdar://57674840>
Pull request: https://github.com/webkit/WebKit/pull/2109
Created attachment 460774 [details] test.html
(In reply to Sihui Liu from comment #4) > Created attachment 460774 [details] > test.html (you can use run-webkit-httpd in Tools/Scripts to launch http server and open the test in MiniBrowser)
Committed 253762@main (d5739b8e0974): <https://commits.webkit.org/253762@main> Reviewed commits have been landed. Closing PR #2109 and removing active labels.
I have marked this test as a flaky failure while this issue is investigated.