HexBrain

Brave Software · Report #1668815

Persistent user tracking is possible using window.caches, by avoiding Brave Shields

Validstatus
mediumseverity
14upvotes
22 Jun 2023disclosed

How it was found

Summary:

The recent version of iOS 15 introduced window.caches in WKWebView. It provides a persistent cache for web pages, and is also potentially usable for user tracking. The current CookieControl.js disables cookie, localStorage and sessionStorage, but it doesn't disable window.caches, so it allows client-side user tracking by window.caches even when cookie brocker is enabled.

Products affected:

  • Brave for iOS Version 1.41.1 (22.7.27.20)
  • iPhone 8 with iOS 15.6

Steps To Reproduce:

  • Enable Brave Shields and block all cookies
  • Visit https://csrf.jp/2022/caches.php
  • Push "Set Tracking ID" button, then your tracking ID is set to window.caches
  • Push "Get Tracking ID" button, then you can confirm your tracking ID that was set above
  • Close your browser and visit the above page again
  • Push "Get Tracking ID" button, then you can see your tracking ID again

Supporting Material/References:

  • Attached is a movie file that demonstrate the above steps to reproduce.

Impact

As witten in summary, client-side user tracking by window.caches is possible even when cookie brocker is enabled.

This report was disclosed publicly on HackerOne and belongs to its author and the program. See the original