← Chrome 147 reference

v147 · shipped · security · service workers

Local Network Access restrictions on Service Worker WindowClient.navigate()

Chrome 147 extends Local Network Access (LNA) enforcement to navigations initiated by service workers via WindowClient.navigate(). When the WindowClient is a subframe, any attempt to navigate it to a local/private IP address now triggers the same LNA checks as other restricted request types.

Behaviour change Service workers that call windowClient.navigate(url) where url resolves to a local or private address (loopback, RFC 1918, link-local) may now be blocked in Chrome 147 when the WindowClient is a subframe served from a public origin. Main-frame navigations are not affected.

at a glance

Shipped inChrome 147 (desktop, Android)
StatusEnabled by default
Affected APIWindowClient.navigate() from service workers
SpecWICG Local Network Access spec
ChromeStatus5172375182245888 — Local Network Access restrictions on Service Worker WindowClient.navigate()

why it exists

Chrome's Local Network Access protections prevent public websites from silently reaching devices on the user's private network. Earlier work applied LNA checks to fetch() requests initiated from service workers. However, service workers can also trigger subframe navigations via WindowClient.navigate() — and that path was not covered. A compromised or malicious service worker from a public origin could navigate an embedded subframe to a local admin interface or device URL without the user's knowledge. Chrome 147 closes this hole by applying the same initiator-based LNA logic to WindowClient.navigate() calls.

Only subframe WindowClient navigations are affected. Chrome does not currently enforce LNA restrictions on main-frame navigations.

Source: blink-dev Intent to Ship — Local Network Access restrictions on Service Worker WindowClient.navigate(), April 2026.

what changes

When a service worker calls windowClient.navigate(url):

Affected address ranges

Address rangeExamples
Loopback127.0.0.1, localhost, ::1
Private (RFC 1918)10.x.x.x, 172.16–31.x.x, 192.168.x.x
Link-local169.254.x.x, fe80::/10
Source: blink-dev Intent to Ship — Local Network Access restrictions on Service Worker WindowClient.navigate(), April 2026.

browser support

BrowserSupport
Chrome 147+ (desktop, Android)Enabled by default
FirefoxNo position
SafariNo position
Source: chromestatus.com feature page, April 2026.

see also