WebKit leaks real IPs past iCloud Private Relay
Three WebKit features bypass proxy config and expose real IP and DNS on iOS. If your fraud or geo logic trusts an IP address, read this.
Researchers Talal Haj Bakry and Tommy Mysk published findings on August 4 showing that three WebKit features send traffic straight from the device, ignoring whatever proxy the app configured — including iCloud Private Relay in Safari. Any site that supports passkeys, or merely pretends to, can read a user's real IP address. If you're building anything that treats an IP address as a fact, this is the WebKit bug to read.
What actually happened
Per the Mysk writeup, the three leaks are:
- DNS prefetching (iOS 26.0+) — a
<link rel="dns-prefetch">hint resolves through the device's own DNS, exposing the user's resolver. - WebAuthn Related Origin Requests (iOS 18.0+) — WebKit hands the passkey ceremony to the OS credential service, which fetches
https://<rpId>/.well-known/webauthnitself, directly, unaware any proxy exists. - WebTransport (iOS 26.4+) — opens a QUIC connection outside the proxy path.
Anything using WebKit's WKWebsiteDataStore.proxyConfigurations is affected, which means every iOS Tor browser, plus Psylo, plus Private Relay. System-level VPNs are not affected — they tunnel below this layer.
The disclosure is its own story. The researchers skipped Apple and went to the Tor Project and the Onion Browser developers instead, citing months of delays and inconsistent responses in past reports. Psylo 1.3.1 already ships mitigations: block the prefetch hint, disable WebTransport and WebAuthn by default, allow per-site opt-in. Apple told 404 Media it's investigating.
Why it matters for your business
Stop treating an IP address as identity or location. If your stack does geo-gating for tax or licensing, fraud scoring by IP reputation, per-IP rate limiting, or session dedup in analytics, you've been reading a number that is sometimes the user, sometimes an Apple relay egress, and sometimes both in the same session. That was already true. It's now demonstrably inconsistent within a single page load.
If you implement passkeys, you own a fingerprinting endpoint. /.well-known/webauthn gets fetched from the device. That's a signal you're now emitting on behalf of your users, and a signal a hostile site can harvest by declaring passkey support it never intends to use. Log who hits that path.
The broader lesson: a vendor privacy feature is a feature, not a control. Private Relay is a checkbox Apple owns, on a schedule Apple sets, with a bug class Apple is still investigating. If your compliance story depends on an upstream toggle you don't operate, you don't have a control — you have a hope with a marketing page.
Key takeaways
- DNS prefetching, WebAuthn related-origin requests, and WebTransport all bypass app-configured proxies in WebKit
- Any site claiming passkey support can trigger a direct device request and read the real IP
- iOS Tor browsers, Psylo, and iCloud Private Relay are affected; system VPNs are not
- Researchers bypassed Apple disclosure entirely and notified downstream browser projects instead
- IP-based geo, fraud, and rate-limit logic needs a second signal — it was never reliable and now it's provably not
Auth and fraud logic built on assumptions ages badly. We build authentication, session, and abuse-prevention layers that don't rest on a single upstream signal you don't control. See what we build, or bring us your auth stack.
Sources: Mysk, 404 Media, TechCrunch.
- #webkit
- #privacy
- #passkeys
- #ios
- #security
Tommy Rush — Founder, Rush Commerce
Operator turned builder. 15+ years running operations — now shipping the systems businesses run on. More
Get The Rush Report weekly — one email, zero fluff.
Keep reading
Rust's new LLM policy ships with a circuit breaker
Five Rust teams adopted an LLM policy: use AI to review, not to create. Disclosure is mandatory and there's an automatic kill switch. Copy the structure.
Read it77 malicious Open VSX extensions mapped developer machines
An evil-twin campaign put 77 fake extensions on Open VSX that fingerprinted dev machines, Git repos, and CI pipelines. What to check in your editor today.
Read it