Skip to content

Archive

Browser Security

16 articles
Cybersecurity 15 Sep 2026 8 min read

Strict CSP Moves Script Trust From Hostnames to Authorized Roots

A script policy built around a long list of approved hosts can look restrictive while still granting more authority than the application intends. If any approved origin can serve attacker-influenced JavaScript, or exposes a path that behaves as a script gadget, the hostname boundary may admit code that the page never meant to execute. A strict Content Security Policy changes the basis of that decision. Instead of treating network location as the primary proof that a script is acceptable, the page marks specific root scripts with a fresh nonce or a matching cryptographic hash. With 'strict-dynamic', trust can then follow script-loading relationships created by those authorized roots.

Cybersecurity 15 Sep 2026 5 min read

SameSite Cookies Move CSRF Control Into Request Context

A browser can send an authenticated request that the account holder never intended to initiate. The target site may receive a valid session cookie, see a legitimate account, and process a state change even though the request originated from another site. The credential is ambient: browser attachment, not explicit application code, supplies it. The SameSite cookie attribute changes that attachment decision. Rather than asking the server to distinguish hostile requests after every cookie arrives, it gives the user agent policy for deciding whether a cookie accompanies requests in cross-site contexts. That moves part of the CSRF boundary into browser request processing, but only for cookies covered by the attribute and only according to the site’s relationship and request context defined by browser policy.

Cybersecurity 15 Sep 2026 6 min read

Permissions Policy Bounds Browser Feature Authority

Permissions Policy Bounds Browser Feature Authority A page can embed code from several origins while still presenting a single application surface. That composition becomes security-relevant when browser capabilities such as geolocation, camera access, microphone access, fullscreen, or payment functions are available inside the resulting document tree. The code that renders a widget may not need the same browser authority as the application that hosts it. Permissions Policy gives a site a way to restrict selected web-platform features by origin and frame. It is not a replacement for user permission prompts, sandboxing, application authorization, or browser isolation. Its value is narrower and architectural: it can remove capabilities from documents that have no legitimate reason to exercise them.

Cybersecurity 15 Sep 2026 6 min read

HSTS Turns First Contact Into Persistent HTTPS Policy

A site can redirect every plain HTTP request to HTTPS and still expose a gap before that redirect arrives. On an untrusted network, the first cleartext request can be intercepted, altered, or answered by another system before the browser receives the server’s redirect. TLS cannot protect a request that has not entered TLS yet. HTTP Strict Transport Security changes browser behavior after a secure contact. A conforming user agent that receives a valid Strict-Transport-Security field over HTTPS records a policy for the host. During the policy lifetime, later attempts to use HTTP for that host are rewritten to HTTPS internally before an insecure request is sent.

Cybersecurity 15 Sep 2026 6 min read

Fetch Metadata Makes Cross-Site Request Context Visible

Fetch Metadata Makes Cross-Site Request Context Visible A server receiving an authenticated HTTP request often sees valid cookies, a plausible path, and a method that the application accepts. Those facts do not reveal whether the request began inside the application’s own page or was triggered by a document on another site. For endpoints that change state, that missing context has long been central to cross-site request forgery defenses. Fetch Metadata request headers expose part of the context already known to the browser. Headers such as Sec-Fetch-Site, Sec-Fetch-Mode, Sec-Fetch-Dest, and Sec-Fetch-User describe relationships and properties surrounding a request. A server can use those signals to reject request patterns that do not belong to its application architecture.

Cybersecurity 15 Sep 2026 6 min read

DNS Rebinding Turns Hostname Trust Into Network Reach

DNS Rebinding Turns Hostname Trust Into Network Reach A browser tab can keep the same scheme, hostname, and port while the IP address behind that hostname changes. That ordinary property of DNS becomes dangerous when software assumes the address reached by a browser is fixed for the lifetime of an origin. DNS rebinding attacks exploit the gap between two identities. Browser security policy is largely expressed in terms of origins, where a hostname is part of the identity. Network services often reason in terms of addresses and interfaces: loopback, a private subnet, a management VLAN, or another location considered unreachable from the public internet. Rebinding can preserve the browser-visible hostname while steering later connections toward a different network address.

Cybersecurity 15 Sep 2026 5 min read

DNS Rebinding Turns Browser Origin Trust Into a Network Pivot

DNS Rebinding Turns Browser Origin Trust Into a Network Pivot A browser can keep treating a page as belonging to the same web origin even after the hostname behind that origin starts resolving to a different IP address. That separation between origin identity and network destination creates the opening for DNS rebinding. The attacker does not need to convince a local service to initiate an outbound connection. Instead, a page already running in the browser issues requests under an attacker-controlled hostname. If subsequent DNS resolution maps that hostname to a loopback, private, or otherwise locally reachable address, the browser can become a bridge between remote content and a service exposed only to the victim’s network.

Cybersecurity 15 Sep 2026 8 min read

Content Security Policy Makes Script Authority Explicit

Content Security Policy Makes Script Authority Explicit A browser does not distinguish between JavaScript that a development team intended to ship and JavaScript that arrived through an injection flaw. Once script markup becomes part of a document and passes the browser’s normal parsing rules, it can execute with the authority of that origin. Escaping and contextual output encoding remain primary defenses against injection, but a single missed boundary can still turn untrusted text into active code.

Cybersecurity 14 Sep 2026 6 min read

Subresource Integrity Pins Browser Dependencies to Expected Bytes

Subresource Integrity Pins Browser Dependencies to Expected Bytes A production page can contain no application-side injection flaw and still execute hostile JavaScript if a trusted external asset changes underneath it. The script URL may be correct, TLS may be valid, and the browser may have reached the intended host. None of those facts establish that the returned file is the exact artifact the site operator approved. Subresource Integrity, commonly shortened to SRI, adds that missing assertion for selected browser-loaded scripts and stylesheets. An integrity attribute carries one or more cryptographic digest values. After fetching the resource, the browser computes the digest of the representation used for the integrity check and refuses to apply or execute it when no supported digest matches.

Cybersecurity 14 Sep 2026 6 min read

Referrer Policy Controls Navigation Metadata Exposure

Referrer Policy Controls Navigation Metadata Exposure A link from an internal account page to an external support site can carry more context than the destination needs. Depending on browser policy and request conditions, the HTTP Referer header can identify the source origin or include a fuller source address. If that address contains sensitive path structure or query data, navigation metadata becomes an unintended disclosure channel. Referrer Policy gives a document, response, or individual element control over how much source address information accompanies eligible requests. It does not encrypt traffic, authenticate destinations, or prevent navigation. Its purpose is narrower: constrain the referrer information exposed when the browser makes requests.

Cybersecurity 14 Sep 2026 7 min read

CORS Policy Is an Authorization Boundary Between Browser Origins

A cross-origin API request can reach its destination, execute application code, and produce a valid response even when the browser refuses to expose that response to JavaScript. That distinction is central to Cross-Origin Resource Sharing, yet it is often blurred by configurations that treat CORS as a connectivity switch. CORS is a browser-enforced extension to the same-origin model. It gives a server a way to state which external origins may access selected responses from browser script. The server still owns authentication and authorization for the underlying resource. CORS controls an additional boundary: whether code running under another web origin may receive the response through browser APIs.

Cybersecurity 14 Sep 2026 8 min read

Content Security Policy Works Best as an Execution Boundary

Content Security Policy Works Best as an Execution Boundary A web application can escape every obvious inline-script habit and still carry a broad execution surface. A compromised analytics host, an overly permissive script source, a reused nonce, or a policy that quietly tolerates inline code can leave the browser with far more authority than the application intended. Content Security Policy, usually delivered through the Content-Security-Policy response header, gives a site a way to constrain that authority. Its strongest role is not as a filter for hostile strings. It is a browser-enforced boundary around resource loading and script execution. That distinction matters because policies built as long host allowlists often age into something much weaker than their authors expect.

Cybersecurity 13 Sep 2026 9 min read

WebSocket Upgrades Need Their Own Origin Policy

WebSocket Upgrades Need Their Own Origin Policy A WebSocket endpoint can sit behind the same hostname, TLS certificate, session cookie, and reverse proxy as an ordinary web application while obeying a different browser security model. The connection begins as HTTP, but once the upgrade succeeds, the familiar request-response controls around application endpoints no longer describe the full security boundary. That gap matters most when a browser automatically attaches credentials to the handshake. A hostile site may be able to initiate a WebSocket connection toward another origin. If the target service accepts the upgrade based only on a valid session cookie, the attacker’s page can gain a bidirectional channel operating with the victim’s authority. The browser’s same-origin restrictions on reading ordinary cross-origin HTTP responses do not provide the same protection for WebSocket traffic.

Cybersecurity 13 Sep 2026 7 min read

Content Security Policy Turns Script Trust Into an Explicit Boundary

A web application can escape database queries correctly, authenticate every API request, and still hand an attacker code execution in the browser through one unsafe rendering path. The browser is unusually permissive by design: HTML can load scripts from remote origins, inline blocks can execute code, and dynamic DOM operations can turn strings into active content. Content Security Policy, or CSP, gives an application a second control plane for that execution environment.

Cybersecurity 12 Sep 2026 6 min read

DNS Rebinding Turns Name Resolution Into a Browser Pivot

DNS Rebinding Turns Name Resolution Into a Browser Pivot A browser tab does not need direct knowledge of a private network to become a useful bridge into it. If an attacker controls a hostname and its DNS answers, the same hostname can first resolve to an attacker-controlled public server and later resolve to an address reachable only from the browser’s network. The page keeps using a familiar origin label while the destination behind that label changes.

Cybersecurity 12 Sep 2026 8 min read

CORS Is a Browser Read Boundary, Not an API Firewall

CORS Is a Browser Read Boundary, Not an API Firewall An API can reject every cross-origin browser response and still receive the underlying requests. That distinction is easy to lose when Cross-Origin Resource Sharing is described as an access-control feature without naming the actor it constrains: browser script. CORS extends the browser’s same-origin model by letting a server state which origins may access selected responses. It does not turn the server into a network firewall, authenticate a caller, or guarantee that a request never reaches application code. A command-line client, backend service, malware process, or custom HTTP stack does not have to enforce browser CORS rules at all.