Browser Security Mechanism Headers

V3.4.1

Verify that a Strict-Transport-Security header field is included on all responses to enforce an HTTP Strict Transport Security (HSTS) policy. A maximum age of at least 1 year must be defined, and for L2 and up, the policy must apply to all subdomains as well.

Required for Level 1, 2 and 3

CAPEC™ (3.9): 157, 21, 22, 220, 31, 39, 466, 593, 594, 620, 89, 94

V3.4.2

Verify that the Cross-Origin Resource Sharing (CORS) Access-Control-Allow-Origin header field is a fixed value by the application, or if the Origin HTTP request header field value is used, it is validated against an allowlist of trusted origins. When 'Access-Control-Allow-Origin: *' needs to be used, verify that the response does not include any sensitive information.

Required for Level 1, 2 and 3

CAPEC™ (3.9): 104, 173, 21, 22, 233, 466

V3.4.3

Verify that HTTP responses include a Content-Security-Policy response header field which defines directives to ensure the browser only loads and executes trusted content or resources, in order to limit execution of malicious JavaScript. As a minimum, a global policy must be used which includes the directives object-src 'none' and base-uri 'none' and defines either an allowlist or uses nonces or hashes. For an L3 application, a per-response policy with nonces or hashes must be defined.

Required for Level 2 and 3

CAPEC™ (3.9): 103, 104, 111, 152, 160, 173, 19, 207, 21, 22, 233, 242, 446, 63, 89

V3.4.4

Verify that all HTTP responses contain an 'X-Content-Type-Options: nosniff' header field. This instructs browsers not to use content sniffing and MIME type guessing for the given response, and to require the response's Content-Type header field value to match the destination resource. For example, the response to a request for a style is only accepted if the response's Content-Type is 'text/css'. This also enables the use of the Cross-Origin Read Blocking (CORB) functionality by the browser.

Required for Level 2 and 3

CAPEC™ (3.9): 152, 19, 21, 22, 569, 63, 690

V3.4.5

Verify that the application sets a referrer policy to prevent leakage of technically sensitive data to third-party services via the 'Referer' HTTP request header field. This can be done using the Referrer-Policy HTTP response header field or via HTML element attributes. Sensitive data could include path and query data in the URL, and for internal non-public applications also the hostname.

Required for Level 2 and 3

CAPEC™ (3.9): 22, 569

V3.4.6

Verify that the web application uses the frame-ancestors directive of the Content-Security-Policy header field for every HTTP response to ensure that it cannot be embedded by default and that embedding of specific resources is allowed only when necessary. Note that the X-Frame-Options header field, although supported by browsers, is obsolete and may not be relied upon.

Required for Level 2 and 3

CAPEC™ (3.9): 103, 104, 111, 152, 160, 173, 19, 21, 22, 233, 242, 446, 63

V3.4.7

Verify that the Content-Security-Policy header field specifies a location to report violations.

Required for Level 3

CAPEC™ (3.9): 103, 104, 111, 152, 160, 173, 19, 207, 21, 22, 233, 242, 446, 63, 89

V3.4.8

Verify that all HTTP responses that initiate a document rendering (such as responses with Content-Type text/html), include the CrossOriginOpenerPolicy header field with the same-origin directive or the same-origin-allow-popups directive as required. This prevents attacks that abuse shared access to Window objects, such as tabnabbing and frame counting.

Required for Level 3

CAPEC™ (3.9): 104, 152, 160, 173, 19, 233, 466, 543, 569, 63

Disclaimer

Credit via OWASP ASVS.For more information visit: The OWASP ASVS Project or Github respository.. OWASP ASVS is under the Creative Commons Attribution-Share Alike v4.0 license.

Github logo View source on GitHub

OWASP Cornucopia

OWASP Cornucopia is a mechanism in the form of a card game to assist software development teams identify security requirements in Agile, conventional and formal development processes. It is language, platform and technology-agnostic, and is free to use. OWASP Cornucopia is licensed under the Creative Commons Attribution-ShareAlike 4.0 license, so you can copy, distribute and transmit the work, and you can adapt it, and use it commercially, but all provided that you attribute the work and if you alter, transform, or build upon this work, you may distribute the resulting work only under the same or similar licence to this one.

© 2012-2025 OWASP Foundation. The Open Worldwide Application Security Project (OWASP) is a nonprofit foundation that works to improve the security of software.