A recent investigation by the Mysk blog has revealed that WebKit-based browsers on iOS and macOS can leak user data despite the use of proxy servers or Apple's iCloud Private Relay. The leaks stem from three specific web features: DNS prefetching, WebAuthn for passkeys, and WebTransport.
WebKit-based browsers on iOS and macOS can be built to route all web traffic through proxy servers. Every network connection a web page makes is supposed to flow through the configured proxy, so websites only ever see the proxy's IP address. However, the Mysk blog reported that DNS prefetching, WebAuthn for Passkeys, and WebTransport can reveal data about the user in spite of proxy use or iCloud Private Relay.
These leaks also affect Apple's iCloud Private Relay, but they do not affect VPNs. VPNs are not affected because they tunnel the device's entire network traffic at the system level, unlike the application-level proxying used by WebKit-based browsers.
Impact on iOS Browsers
Apple's App Store policy requires every iOS browser to use WebKit. Any iOS browser that relies on WKWebsiteDataStore.proxyConfigurations for proxying is affected by the leaks, including all iOS Tor browsers and Psylo. However, there is a point of divergence among sources: some frame this as 'every browser is affected' because Apple requires WebKit, while others specify that only browsers relying on the proxy API are impacted.
The leaks were discovered after a Psylo user reported a DNS leak when visiting only certain websites. Mysk provided a proof-of-concept website (leaks.psylo.app) to test the leaks.
IOS version in which Apple added WebAuthn Related Origin Requests, a feature involved in one of the leaks.
Psylo 1.3.1 blocks dns-prefetch hints and disables WebTransport and WebAuthn by default; each feature can be re-enabled through per-silo toggles. This mitigation reduces the risk for Psylo users, but the underlying leaks remain in WebKit.
The Three Leaks
DNS prefetching lets a website ask the browser to resolve a hostname before it's needed using a <link rel="dns-prefetch"> HTML tag. When a page includes such a tag, WebKit resolves the hostname through the device's normal DNS path regardless of any proxy set through WKWebsiteDataStore.proxyConfigurations, potentially revealing the visitor's real network. The DNS prefetch leak was behind the original user report, and only websites with dns-prefetch tags trigger it.
Private Relay does not catch the DNS prefetch leak; the DNS query reaches the authoritative server from the device's real network even with Private Relay enabled.
WebAuthn is the web standard behind passkeys; a passkey is normally bound to a single domain, but Related Origin Requests let an organization use one passkey across a small set of domains it owns. During a WebAuthn Related Origin Request, the validation fetch to https://<rpId>/.well-known/webauthn is issued by the operating system's credential service directly from the device, unaware of any proxy; with mediation:"conditional" it can fire without user interaction. The validation fetch never enters iCloud Private Relay's proxied path, so the destination server sees the device's real IP address.
WebTransport is a low-latency alternative to WebSocket that runs over HTTP/3 and QUIC, offers multiple independent streams plus unreliable datagram delivery, and can fall back to HTTP/2 where QUIC is unavailable. Calling new WebTransport(url) opens a QUIC connection straight from the device, and WebKit never offers it the session's proxy, so the server sees the device's real IP address instead of the proxy's. Private Relay does not help WebTransport; WebKit builds the connection outside the web traffic that Private Relay proxies, so a WebTransport server learns the device's real IP address even with Private Relay enabled.
All three leaks occur outside WebKit's standard page-loading process, meaning Private Relay is susceptible to the same leaks.
Mitigations and Responses
Onion Browser's 'Silver' security level configures WebKit with Lockdown Mode, which disables WebTransport entirely, so Onion Browser users at the Silver level are not affected by the WebTransport leak. Passkeys and WebTransport have legitimate uses, so Psylo lets users re-enable them per-silo while keeping the browser leak-free out of the box.
Mysk reached out to the Tor Project and the developers of Onion Browser on iOS about these issues.