From 8bdd0ef9bde17233857ff8195ce8396261b1aefd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Raffray?= Date: Tue, 31 Oct 2023 15:40:04 +0100 Subject: [PATCH 01/16] add hashStyles option to Interface --- src/defaultConfig.ts | 5 +++-- src/runtime/nitro/plugins/02-cspSsg.ts | 2 +- src/types/index.ts | 1 + 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/defaultConfig.ts b/src/defaultConfig.ts index bcf921dc..3cf02ce7 100644 --- a/src/defaultConfig.ts +++ b/src/defaultConfig.ts @@ -1,4 +1,4 @@ -import { ModuleOptions } from './types' +import type { ModuleOptions } from './types' const defaultThrowErrorValue = { throwError: true } @@ -81,6 +81,7 @@ export const defaultSecurityConfig = (serverlUrl: string): ModuleOptions => ({ exclude: [/node_modules/, /\.git/] }, ssg: { - hashScripts: true + hashScripts: true, + hashStyles: false } }) diff --git a/src/runtime/nitro/plugins/02-cspSsg.ts b/src/runtime/nitro/plugins/02-cspSsg.ts index cfa22c1c..667da99a 100644 --- a/src/runtime/nitro/plugins/02-cspSsg.ts +++ b/src/runtime/nitro/plugins/02-cspSsg.ts @@ -85,7 +85,7 @@ export default defineNitroPlugin((nitroApp) => { // Remove '""' tagPolicies['script-src'] = (tagPolicies['script-src'] ?? []).concat(scriptHashes) } - if (styleHashes.length > 0 && moduleOptions.ssg?.hashScripts) { + if (styleHashes.length > 0 && moduleOptions.ssg?.hashStyles) { // Remove '""' tagPolicies['style-src'] = (tagPolicies['style-src'] ?? []).concat(styleHashes) } diff --git a/src/types/index.ts b/src/types/index.ts index 6be40128..a930f9fe 100644 --- a/src/types/index.ts +++ b/src/types/index.ts @@ -6,6 +6,7 @@ import type { AllowedHTTPMethods, BasicAuth, CorsOptions, RateLimiter, RequestSi export type Ssg = { hashScripts?: boolean; + hashStyles?: boolean; }; export interface ModuleOptions { From 24873d1ba0f210d2bcc05f6dc723d0c99a6a4190 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Raffray?= Date: Sat, 4 Nov 2023 12:20:09 +0100 Subject: [PATCH 02/16] docs --- .../1.documentation/2.headers/1.csp.md | 185 ++++++++++++++---- .../1.documentation/5.advanced/3.csp.md | 0 2 files changed, 149 insertions(+), 36 deletions(-) create mode 100644 docs/content/1.documentation/5.advanced/3.csp.md diff --git a/docs/content/1.documentation/2.headers/1.csp.md b/docs/content/1.documentation/2.headers/1.csp.md index 33dfd96c..3f1adc65 100644 --- a/docs/content/1.documentation/2.headers/1.csp.md +++ b/docs/content/1.documentation/2.headers/1.csp.md @@ -123,6 +123,87 @@ type CSPSandboxValue = ``` :: +## Strict CSP + +Nuxt Security helps you increase the security of your site via **strict CSP** support for both SSR and SSG applications. +You can read more about [strict csp](https://web.dev/strict-csp/#what-is-a-strict-content-security-policy) here. + +- For SSR applications, Nuxt Security implements strict CSP via nonces. A one-time cryptographically-generated random nonce is generated at runtime by the server for each request of a page. +- For SSG applications, Nuxt Security implements strict CSP via hashes. At static build-time, Nuxt Security computes the SHA hashes of the elements that are allowed to execute on your site. + +Strict CSP is known to be hard to implement. +In order to enable Strict CSP, your application will need to comply with the CSP standards, which may imply some level of code refactoring. + +As a starting point, we recommend that you configure the `contentSecurityPolicy` header as follows: + +```ts +export default defineNuxtConfig({ + security: { + headers: { + contentSecurityPolicy: { + 'script-src': [ + "'self'", // Fallback value, will be ignored by most modern browsers (level 3) + "https:", // Fallback value, will be ignored by most modern browsers (level 3) + "'unsafe-inline'", // Fallback value, will be ignored by almost any browser (level 2) + "'strict-dynamic'", // Strict CSP via 'strict-dynamic', supported by most modern browsers (level 3) + "'nonce-{{nonce}}'" // Enables CSP nonce support for scripts in SSR mode, supported by almost any browser (level 2) + ], + 'style-src': [ + "'self'", // Enables loading of stylesheets hosted on your own domain + "https:", // For increased security, replace by the specific hosting domain or file name of your external stylesheets + "'unsafe-inline'" // Recommended default for most Nuxt apps + //"'nonce-{{nonce}}'" // Disables CSP nonce support for styles in SSR mode (recommended) + ] + } + } + } +}) +``` + +These default values will enable Strict CSP in the majority of cases. + +For further reading about how to configure CSP, please see the links below +- Our Adanced Section about CSP: TBD +- Google CSP Evaluator: https://csp-evaluator.withgoogle.com +- MDN documentation: https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP +- W3C standards: https://www.w3.org/TR/CSP3 + + +## Server Side Rendering (SSR) + +Nuxt Security provides first-class support of SSR apps via 'strict-dynamic' and nonces. + +To enable Strict CSP in SSR mode, you will need to set the `nonce` option: + +```ts +export default defineNuxtConfig({ + security: { + nonce: true // Enables HTML nonce support in SSR mode + }, + headers: { + contentSecurityPolicy // Copy our default recommended value here + } +}) +``` + +Nuxt Security will add the unique random nonce to all ` ``` ## Integrity Hashes For SSG -For SSG apps, if you use 'strict-dynamic' in your `script-src` policy SSG mode, each of your external scripts will need to carry an [integrity attribute](https://developer.mozilla.org/en-US/docs/Web/Security/Subresource_Integrity). +For SSG apps, if you use `'strict-dynamic'` in your `script-src` policy, each of your external scripts will need to carry an [integrity attribute](https://developer.mozilla.org/en-US/docs/Web/Security/Subresource_Integrity). + This is a mandatory requirement of CSP Level 3. You can easily add integrity values to your scripts with the `useHead` composable: @@ -321,14 +346,15 @@ useHead({ script: [ { src: 'https://example.com/script.js', - integrity: 'sha384-.....', - crossorigin: 'anonymous' + crossorigin: 'anonymous', + integrity: 'sha384-.....' // Insert the integrity hash here + } ] }) ``` -If you insert scripts manually in your app, you can also include your integrity attribute manually +If you insert scripts manually in your app, you can also include their integrity attribute manually ```html +```` +```html + + +``` + +### External resources + +External resources are elements that are loaded from a server. Examples include: +```html + + +``` +```html + +`. + + For inline elements, CSP has no easy way to determine whether they are legit or not. + + Therefore CSP adopts a different (and quite brutal) first-line of defense against this issue: it **forbids all inline elements** by default. + +_2. The problem for Nuxt is not the same_ + - Nuxt applications typically insert _lots_ of external and inline elements in a dynamic manner. + + While the insertion of external resources is not a huge problem (they can be whitelisted), the insertion of inline elements _is_ a real issue with Nuxt because CSP then blocks the whole application. + +::alert{type="info"} +In summary, external elements are manageable via whitelisting, but inline elements are a true challenge for Nuxt. +We need a mechanism to tell CSP which inline elements are legit and which are not. +:: + +## Allowing inline elements for Nuxt + +Fortunately, CSP provides several mechanisms to allow the dynamic insertion of legit inline elements. + +The available mechanisms depend on the CSP version that you are using. There are three versions available, the most recent being CSP Level 3. + +CSP Level 3 is supported by most modern browsers and should be the default approach. You can check adoption on [caniuse](https://caniuse.com/?search=strict-dynamic) + +Each level is backwards-compatible with the previous ones, meaning that +- If your browser supports Level 3, you can still write Level 1 policies +- If your browser only supports Level 2, it will ignore Level 3 syntax + +### 'unsafe-inline' (CSP Level 1) + +In the oldest version (CSP Level 1), the only way to allow inline elements was to use the `'unsafe-inline'` directive. + +This meant that all inline elements were allowed. This disabled the protection that CSP offered against inline injection, but it was the only way to make Nuxt work under CSP. + +In other words, CSP Level 1 has a binary approach to inline elements: either they are all denied, or they are all allowed. + +Obviously, allowing all unsafe inline scripts is not recommended: as it name implies, it is unsafe. +But as a last resort and if everything else fails, you still have this option. + +::alert{type="warning"} +Using `'unsafe-inline'` is unsafe and therefore not recommended. +
+However CSP Level 2 has safe alternatives. +
+See [below](#nonces-and-hashes-csp-level-2) how you can indicate which inline elements should be allowed. +:: + +### Nonces and Hashes (CSP Level 2) + +CSP Level 2 introduced two mechanisms to determine which inline elements are allowed: nonces and hashes. + +#### Nonces + +A **nonce** is a unique random number which is generated by the server for each request. This nonce is added to each inline element and when the response arrives, the browser will see : +```html + +``` +The server also sends the nonce in the HTTP headers: +``` +Content-Security-Policy: script-src 'nonce-somerandomstring' +```` +Now the browser can compare the two nonce values to determine that the inline element is valid. + +#### Hashes + +A **hash** is the SHA hash of the inline code. Hashes are not added to the inline elements, but the browser can hash the content of the inline script itself: +```html + + +``` +The server sends the hashed value in the HTTP headers: +``` +Content-Security-Policy: script-src 'sha256-......' +``` +Now the browser can compare the hash received in the headers with the value it computed itself to determine that the inline element is valid. + +With CSP Level 2, we can now indicate which inline elements should be allowed and which ones should be rejected. + +#### Implications for Nuxt + +However, there are many important details that you should know: +1. **Hashes and Nonces cancel `'unsafe-inline'`**. In other words, all inline elements must have a nonce or hash. + + Therefore for Nuxt applications to work, it is critical that every single inline element is included. If one inline element is omitted, it will be blocked. + +2. **Hashes and Nonces are primarily intended for inline elements**. External resources are still supposed to be whitelisted the old way, i.e. by including the domain name or file name in the policy. However, CSP Level 2 added the option to also whitelist external resources by nonce, _but not by hash_. So: + - If you use **nonce**: Inline and external elements can be whitelisted by nonce. External elements can also be whitelisted by name. + - If you use **hash**: Inline elements can be whitelisted by hash. External elements still need to be whitelisted by name. +3. **Hashes and Nonces only work on scripts and styles**. It is useless to use them on other tags (``, ``, `` etc.), or to inlude them in any policy other than `script-src` and `style-src`. + + A common mistake is to try to whitelist an external image by nonce via the `img-src` policy: this will not work. + +::alert{type="info"} +This has several critical implications for Nuxt: +1. **SSR vs SSG**: Using SSR is easier because the nonce whitelists both inline and external elements. But if you use SSG, you will still need to whitelist external elements by name. + +2. **Hydration**: This problem remains largely unsolved, because now **all inline elements must have a nonce or hash**. If the client-side hydration mechanism tries to insert an element, that element will be blocked: + - All inserted inline elements will be blocked; + - Inserted external elements will be blocked, except if you have whitelisted them by name (even in the SSR case) +:: + +Therefore, a Level 2 configuration file should look like: +```ts +export defaultNuxtConfig({ + security: { + headers: { + contentSecurityPolicy: { + "script-src": [ + "'nonce-{{nonce}}'", + // nonce will allow inline scripts that are inserted server-side + // But the application will block if client-side hydration tries to insert a script + "https:example.com" + // example.com must still be whitelisted by name to support SSG + // example.com must still be whitelisted by name to support hydration + ] + } + } + } +}) +``` + +Some simple Nuxt applications will be able to operate under that scheme, but as you can see, hydration constraints defeat most of the solutions brought by CSP Level 2. + +::alert{type="warning"} +CSP Level 2 Nonces and Hashes will be uneffective for most Nuxt applications. +
+However they lay the foundation for the **real** solution which is CSP Level 3. +
+See [below](#strict-dynamic-csp-level-3) how you can unblock hydration on the client-side. +:: + +### 'strict-dynamic' (CSP Level 3) + +#### Hydration solved +CSP Level 3 was designed by folks at Google who were facing the problems described above, and who came up with a solution: `'strict-dynamic'`. + +What `'strict-dynamic'` does, is it allows a pre-authorized parent script to insert any child script. If the parent script is approved by its nonce or hash, then all children scripts do not need to carry a nonce or hash anymore. + +::alert{type="info"} +For Nuxt, this solves the hydration problem, because the Nuxt root script (the _entry_ script) is itself pre-authorized. +:: + +So when hydration time comes, the Nuxt root script can now insert any inline or external script. + +#### Important details + +However, before you rush to this miraculous solution, you need to know the additional limitations that came with `'strict-dynamic'`: + +1. **`'strict-dynamic'` only works for the 'script-src' policy**. A common mistake is to try to set `'strict-dynamic'` on the `style-src` policy: it will not work. + +2. **`'strict-dynamic'` can only authorize scripts**. In other words, a _script_ inserted by Nuxt will be allowed, but a _style_ inserted by Nuxt will be rejected. + + In practice, this means that if your Nuxt application is dynamically modifying styles, you will need to go back to Level 1 with `'unsafe-inline'` for styles, and in that case you will need to be careful not to add any nonce or hash to the `style-src` policy (because, remember, nonces and hashes cancel `'unsafe-inline'`). + + Allowing `'unsafe-inline'` for styles is widely considered as acceptable. Known exploits are not common and center around the injection of image urls in CSS. This risk can be eliminated if you set the `img-src` policy properly. + +3. **`'strict-dynamic'` cancels external whitelists**. It is not possible to allow external scripts by name anymore if you use `'strict-dynamic'`. Old-type external whitelists such as `'self' https://example.com` are simply ignored when `'strict-dynamic'` is used. + + In pratice, this means that external scripts must either: + - be inserted by an authorized parent ('strict-dynamic' enters into play); + - or be individually whitelisted by nonce (as in CSP Level 2) or integrity hash (a new CSP Level 3 feature). + + In Nuxt, the easiest way to insert an external script is to do it via `useHead`. + + See our section below on [the `useHead` composable](#the-usehead-composable) for further details. + +::alert{type="success"} +In summary, Nuxt applications are perfectly capable of running with Strict CSP under two conditions: + 1. You use `'strict-dynamic'` on the `script-src` policy + 2. You use `'useHead'` to insert external scripts +:: + +With this setup, a Level 3 configuration file is much simpler: +```ts +export defaultNuxtConfig({ + security: { + headers: { + contentSecurityPolicy: { + "script-src": [ + "'nonce-{{nonce}}'", + // The nonce allows the root script + "'strict-dynamic'" + // All scripts inserted by the root script will also be allowed + ] + } + } + } +}) +``` + +## Whitelisting external resources + +### The `useHead` composable + +`useHead` allows you to insert scripts in the `` tag of your HTML document. +It is an isomorphic function, i.e. it runs transparently both on the server-side and the client-side. +In addition, it is executed by the Nuxt root script, which is already authorized under `'strict-dynamic'`. + +It is therefore the best place to insert external scripts for your app. + +```ts +useHead({ + script: [ + { src: 'https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js', + crossorigin: 'anonymous' + }, + // Insert any external script with strict-dynamic + { textContent: "console.log('Hello World')" } + // Insert an inline script + ] +}) +``` + +With `'strict-dynamic'`, these scripts will be allowed as children of the Nuxt root script. + +Alternatively, if you cannot use `useHead`, you can also insert tags directly in the DOM (e.g. via `document.createElement()`). As long as the function is invoked within your Nuxt application, `'strict-dynamic'` will allow execution. + + +### SSR mode + + +In SSR mode, Nuxt Security will whitelist your scripts automatically by inserting the nonce on the server-side. + +Because nonces can be used to whitelist external resources, your scripts will be allowed without any additional configuration on your part if the `nonce` option is set to `true`. + +::alert{type="success"} +In SSR mode, `useHead` will always allow you to load your external scripts under Strict CSP. +:: + +### SSG mode + +In SSG mode however, there is no nonce. Because `'strict-dynamic'` cancels external whitelists, you will need to insert an `integrity` attribute to each of your external scripts in order to allow them: + +```ts +useHead({ + script: [ + { src: 'https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js', + crossorigin: 'anonymous', + integrity: 'sha384-C6RzsynM9kWDrMNeT87bh95OGNyZPhcTNXj1NW7RuBCsyN/o0jlpcV8Qyq46cDfL' // Add the integrity hashes for your external scripts + } + ] +}) +``` +Nuxt Security will be clever enough to pick up the integrity attributes and add them to the `script-src` policy if the `ssg: hashScripts` option is set to `true`. + +::alert{type="success"} +In SSG mode, `useHead` will always allow you to load your external scripts under Strict CSP _if you can provide their integrity hashes_. +:: + +::alert{type="warning"} +If you cannot determine the integrity hash of _at least one_ of your external scripts, please read our [recipes](#alternative-recipes) section below +:: + + +### Alternative Recipes + +Because whitelisting of external resources can become difficult, especially in the SSG case, this section is here to help you find alternatives and solutions. + +#### Checklist + +**1. Do you have the integrity hashes for all of your external scripts ?** + +Background: The server-side needs to whitelist all external resources via integrity hashes. + + ✅ If the answer is yes, you can deploy your application 🚀 + + 🚫 If the answer is no, go to the next question + +**2. Are you generating a static SPA without pre-rendering ?** + +Background: if you are generating a static SPA without pre-rendering (i.e. `nuxi generate` with Nuxt option `ssr: false`), you are only deploying an HTML shell on the server. The client-side will be solely responsible for inserting the external scripts, so the server-side will not be a problem. + + ✅ If the answer is yes, you can deploy your application 🚀 + + 🚫 If the answer is no, go to the next question + +**3. Are you using a Nitro preset that generates CSP headers ?** + +Background: if you are using a Nitro preset that generates CSP headers, the static server will send the CSP policy _before_ the `` tag is processed by `useHead` on the client-side. This will block external scripts. + +For further explanation, please see our section below on [CSP headers](#csp-headers) + + ✅ If the answer is no, you can deploy your application 🚀 + + 🚫 If the answer is yes, go to the next paragraph and check our [Solutions](#solutions) + +#### Solutions + +- **Option 1**: set `useHead` for client-mode only: +```ts +useHead({ + script: [ + { src: 'https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js', + crossorigin: 'anonymous', + } + ] +}, { + mode: 'client' // Load the script 'strict-dynamically' on client-side only +}) +``` + +- **Option 2**: verify if there is an existing Nuxt module that already wraps your script: +```bash +npm install @bootstrap-vue-next/nuxt +``` +```ts +export default defineNuxtConfig({ + modules: ['@bootstrap-vue-next/nuxt'], + bootstrapVueNext: { + composables: true, // Will include all composables + }, + css: ['bootstrap/dist/css/bootstrap.min.css'], +}) +``` + +- **Option 3**: verify if your script can be installed via npm module rather than ` +``` + +- **Option 4**: create a copy of the current version of script, hash it yourself and serve it locally +```bash +# Suppose you have made a local copy of the bootstrap javascript distributable +# Calculate the integrity hash yourself +cat bootstrap-copy.js | openssl dgst -sha384 -binary | openssl base64 -A +# Copy the file in the public folder of your Nuxt application +cp bootstrap-copy.js /my-project/public +``` +```ts +useHead({ + script: [ + { src: '/bootstrap-copy.js', // Serve the copy from self-origin + crossorigin: 'anonymous', + integrity: 'sha384-.....' // The hash that you have calculated above + } + ] +}) +``` +- **Option 5**: wrap the script yourself in a client-side Nuxt plugin + + +::alert{type="warning"} +In SSG mode, `strict-dynamic` requires extra care to ensure Strict CSP. +
+If all above alternatives have failed, you might have to abandon `strict-dynamic` +:: + +### Without `'strict-dynamic'` + +If you cannot use `'strict-dynamic'` for your app, you can still use the `useHead` composable. + +In that case, you are going back to CSP Level 2, which means that you will need to take into account the following constraints: + + **1. Client-side Hydration might break** + + Because you don't have `'strict-dynamic'` anymore, there is a possibility that Nuxt may seek to insert inline scripts on the client side that will get rejected by CSP. + + It is not always the case though, so depending on how your application is designed, you might still get Strict CSP via nonces or hashes and a fully-functional application. + + **2. You will need to whitelist external scripts manually** + + - **If you are using SSR**, Nuxt Security will do this for you automatically by inserting the nonce on the server-side. + - **If you are using SSG** however, you will need to whitelist the external scripts either by name or by integrity hash. + + For maximum compatibility between the two modes, it is easier to whitelist the external scripts by name: + + ```ts + export defaultNuxtConfig({ + security: { + nonce: true, + ssg: { + hashScripts: true // In the SSG case, inline scripts generated by the server will be allowed by hash + }, + headers: { + contentSecurityPolicy: { + "script-src": [ + "'nonce-{{nonce}}'", // Nonce placeholders in the SSR case will allow inline scripts generated on the server + "'self'", // Allow external scripts from self origin + "https://domain.com/external-script.js", // Whitelist your external scripts by fully-qualified name + "https://trusted-domain.com" // Or by domain if you can fully trust the domain + ] + } + } + } + }) + ``` + +::alert{type="info"} +If your Nuxt application is not inserting inline scripts on the client-side, you can still get a Level 2 Strict CSP without using `'strict-dynamic'`. +
+You will need to be careful to whitelist all of your external scripts. +:: + +### Not Strict CSP + +If all of the above solutions have failed, you will need to go back to CSP Level 1 (not strict) with `'unsafe-inline'`. + +```ts +export defaultNuxtConfig({ + security: { + nonce: false, + ssg: { + hashScripts: false // Disable hashes because they would cancel 'unsafe-inline' + }, + headers: { + contentSecurityPolicy: { + "script-src": [ + "'unsafe-inline'", // Allow unsafe inline scripts: unsafe ! + //"'nonce-{{nonce}}'", // Disable nonce placeholders in the SSR case because they would cancel 'unsafe-inline' + "https://domain.com/external-script.js", // Whitelist your external scripts by fully-qualified name + "https://trusted-domain.com" // Or by domain if you can fully trust the domain + ] + } + } + } +}) +``` +::alert{type="danger"} +Although valid from a CSP syntax perspective, allowing 'unsafe-inline' on `script-src` is unsafe. +
+**This setup is not a Script CSP** +:: + +## Additional considerations + +### CSP Headers + +There are two ways for the CSP policies to be transmitted from server to browser: either via the response's HTTP headers or via the document HTML's `` tag. + +It is generally considered safer to send CSP policies via HTTP headers, because in that case, the browser can check the policies _before_ parsing the HTML. On the opposite, when the HTML `` tag is used, this tag will be read _after_ the first elements of the `` of the document. + +Nuxt Security uses a different approach, depending on whether SSR or SSG is used. + +- **In SSR mode** we use the HTTP headers mechanism. This is because `nuxi build` spins off a Nitro server instance that can be used to modify the HTTP headers on the fly. +- **In SSG mode** we use the HTML `` mechanism. This is because `nuxi generate` does not build a server. It only builds a collection of static HTML files that you then need to upload to a static server or a CDN. We have therefore have no control whatsoever over the HTTP headers that this external server will generate, and we need to resort to the fallback HTML approach. + +**CSP Headers for SSG via Nitro Presets** + +When using the SSG mode, some static hosting services such as Vercel or Netlify provide the ability to specify a configuration file that governs the value of the headers that will be generated. When these hosting services benefit from a [Nitro Preset](https://nitro.unjs.io/deploy/#overview), it is possible for Nuxt Security to predict the value of the CSP headers for each page and write the value to the configuration file. + +Nuxt Security supports CSP via HTTP headers for Nitro Presets that output HTTP headers. + +::alert{type="info"} +If you deploy your SSG site on Vercel or Netlify, you will benefit automatically from CSP Headers. +
+CSP will be delivered via HTTP headers, in addition to the standard `` approach. +:: + +### Per Route CSP + +Nuxt Security gives you the ability to define per-route CSP. For instance, you can have Strict CSP on the admin section of your application, and a more relaxed policy on the blog section. + +However you should keep in mind that defining a per-route CSP can lead to issues: +- When a user loads your Nuxt application for the first time from the `/index` page, the CSP headers returned by the server will be those of the `index` page. +- When the user then navigates to the `/admin` section of your site, this navigation happens on the _client-side_. No additional request is being made to the server. Consequently, the CSP policy in force is still the one of the `/index` page. In order to refresh the policies, you need to force a hard-reload of the page, e.g. via `reloadNuxtApp()`. + +These considerations are equally true for SSR (where the server needs to be hit again to recalculate the CSP headers), and for SSG (where the server needs to be hit again to serve the new static HTML file). + +::alert{type="warning"} +If you implement per-route CSP, you will need to enforce a hard reload upon navigation for the new CSP to enter into action. +:: + +::alert{type="info"} +From an application design perspective, it is better to use a single Strict CSP that will apply to all of your application pages. +:: + + +## Conclusion + +In order to obtain a Strict CSP on Nuxt apps, we need to use `strict-dynamic`. This mode disallows the ability for scripts to insert inline styles, and cancels the ability to whitelist external resources by name. In conjunction with the fact that nonces and hashes disable the `'unsafe-inline'` mode, this leaves us with very few options to customize our CSP policies. + +On the other hand, it obliges the developers community to adopt a standardized mindset when thinking about CSP. Less configuration options means less potential loopholes that malicious actors can seek to exploit. + +With this in mind, we recommend that you implement your Strict CSP policy by checking your configuration against the following template: + +```ts +export default defineNuxtConfig({ + security: { + nonce: true, // Enables HTML nonce support in SSR mode + ssg: { + hashScripts: true, // Enables CSP hash support for scripts in SSG mode + hashStyles: false // Disables CSP hash support for styles in SSG mode (recommended) + }, + // You can use nonce and ssg simultaneously + // Nuxt Security will take care of choosing the adequate parameters when you build for either SSR or SSG + headers: { + contentSecurityPolicy: { + 'script-src': [ + "'self'", // Fallback value, will be ignored by browsers level 3 + "https://domain.com/external-script.js", // Fallback value, will be ignored by browsers level 3 + "'unsafe-inline'", // Fallback value, will be ignored by browsers level 2 & 3 + "'strict-dynamic'", // Strict CSP via 'strict-dynamic', supported by browsers level 3 + "'nonce-{{nonce}}'" // Enables CSP nonce support for scripts in SSR mode, supported browsers level 2 & 3 + ], + 'style-src': [ + "'self'", // Enables loading of stylesheets hosted on self origin + "https://domain.com/file.css", // Use fully-qualified filenames rather than the https: generic + "https://trusted-domain.com", // Avoid using domain stubs unless you can fully trust them + "'unsafe-inline'" // Recommended default for most Nuxt apps, but make sure 'img-src' is properly set up + //"'nonce-{{nonce}}'" // Disables CSP nonce support, otherwise would cancel 'unsafe-inline' + // You can re-enable if your application does not modify inline styles dynamically + ], + "img-src": [ + "'self'", // Enables loading of images hosted on self origin + "https://domain.com/img.png", // Use fully-qualified filenames rather than the https: generic + "https://trusted-domain.com", // Avoid using domain stubs unless you can fully trust them + "blob:" // If you use Blob to construct images dynamically from javascript + // Qualifying img-src properly mitigates strongly against 'unsafe-inline' in style-src + ], + 'font-src': [ + "'self'", // Enables loading of fonts hosted on self origin + "https://domain.com/font.woff", // Use fully-qualified filenames rather than the https: generic + "https://trusted-domain.com" // Avoid using domain stubs unless you can fully trust them + ], + "worker-src": [ + "'self'", // Enables loading service worker from self origin, + "blob:" // If you use PWA, it is likely that the worker will be instantiated from Blob + ], + "connect-src": [ + "'self'", // Enables fetching from self origin + "https://api.domain.com/service", // Use largest prefix possible on API routes + "wss://api.domain.com/messages" // Add Websocket qualifiers if used + ], + "object-src": [ + "'none'" + ], + "base-uri": [ + "'none'" + ] + // Do not use default-src + } + } + } +}) +``` \ No newline at end of file From 01924b3d100dbf545c7f3c2cfd761e5aec4ac9c9 Mon Sep 17 00:00:00 2001 From: Baroshem Date: Tue, 7 Nov 2023 15:08:18 +0100 Subject: [PATCH 04/16] docs: add faq about paypal --- .../1.documentation/5.advanced/2.faq.md | 51 ++++++++++++++++++- 1 file changed, 50 insertions(+), 1 deletion(-) diff --git a/docs/content/1.documentation/5.advanced/2.faq.md b/docs/content/1.documentation/5.advanced/2.faq.md index 5fe86ef8..53600813 100644 --- a/docs/content/1.documentation/5.advanced/2.faq.md +++ b/docs/content/1.documentation/5.advanced/2.faq.md @@ -87,7 +87,6 @@ Next, you need to configure your img tag to include the `crossorigin` attribute: ℹ Read more about it [here](https://github.com/Baroshem/nuxt-security/issues/138#issuecomment-1497883915). :: - ## Using nonce with CSP for Nuxt Image Having securely configured images is crucial for modern web applications. Check out how to do it below: @@ -201,6 +200,7 @@ To use this middleware, include it in your script: }) ``` + ### Using NuxtLink Alternatively, you can use the `external` attribute on `NuxtLink` to set the navigation to external: @@ -214,3 +214,52 @@ Alternatively, you can use the `external` attribute on `NuxtLink` to set the nav ::alert{type="info"} ℹ Read more about it [here](https://github.com/Baroshem/nuxt-security/issues/228). :: + +## Cross-Origin-Resource-Policy in Paypal Checkout + +To add Paypal Checkout Button in a Nuxt Project you would need to add below security configuration: + +```ts +// nuxt.config.ts + +routeRules: { + '/payment': { + headers: { + 'Cross-Origin-Embedder-Policy': 'unsafe-none', + 'Cross-Origin-Resource-Policy': 'cross-origin', + }, + }, +}, +security: { + headers: { + contentSecurityPolicy: { + 'img-src': [ + "'self'", + 'data:', + 'https://paypal.com', + 'https://www.paypalobjects.com', + ], + }, + strictTransportSecurity: 'max-age=0;', + }, +}, +``` + +And then, you can load the PayPal script with `useHead` composable: + +```ts +useHead({ + // Paypal SDK to show Paypal button on Payment Page + script: [ + { + src: `https://www.paypal.com/sdk/js?client-id=YOURCLIENTID&components=buttons,marks¤cy=USD&disable-funding=card`, + crossorigin: 'anonymous', + }, + ], + noscript: [{ children: 'JavaScript is required' }], +}); +``` + +::alert{type="info"} +ℹ Read more about it [here](https://github.com/Baroshem/nuxt-security/issues/255#issuecomment-1793476794). +:: From 05c3cbed6a630bb33b2fbf596c26f3348ab72f29 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Raffray?= Date: Thu, 19 Oct 2023 22:40:31 +0200 Subject: [PATCH 05/16] initial sri code --- src/module.ts | 21 ++- .../nitro/plugins/01m-subresourceIntegrity.ts | 84 +++++++++ src/runtime/utils/sriHashes.ts | 59 ++++++ src/types/index.ts | 1 + yarn.lock | 171 ++++++++++-------- 5 files changed, 256 insertions(+), 80 deletions(-) create mode 100644 src/runtime/nitro/plugins/01m-subresourceIntegrity.ts create mode 100644 src/runtime/utils/sriHashes.ts diff --git a/src/module.ts b/src/module.ts index 28e701a9..9f1cef62 100644 --- a/src/module.ts +++ b/src/module.ts @@ -2,7 +2,7 @@ import { fileURLToPath } from 'node:url' import { resolve, normalize } from 'pathe' import { defineNuxtModule, addServerHandler, installModule, addVitePlugin } from '@nuxt/kit' import { defu } from 'defu' -import type { Nuxt, RuntimeConfig } from '@nuxt/schema' +import type { Nuxt } from '@nuxt/schema' import viteRemove from 'unplugin-remove/vite' import { defuReplaceArray } from './utils' import type { @@ -20,6 +20,7 @@ import { } from './defaultConfig' import { SECURITY_MIDDLEWARE_NAMES } from './middlewares' import { type HeaderMapper, SECURITY_HEADER_NAMES, getHeaderValueFromOptions } from './headers' +import sriHashes from './runtime/utils/sriHashes' declare module 'nuxt/schema' { interface NuxtOptions { @@ -157,6 +158,13 @@ export default defineNuxtModule({ }) } + // Calculates SRI hashes at build time + if (nuxt.options.security.sri) { + // At server build time, we calculate sri hashes + nuxt.hook('nitro:build:public-assets', sriHashes) + + } + nuxt.hook('imports:dirs', (dirs) => { dirs.push(normalize(resolve(runtimeDir, 'composables'))) }) @@ -274,6 +282,17 @@ const registerSecurityNitroPlugins = ( ) } + // Register nitro plugin to enable subresource integrity and 'strict-dynamic' CSP for SSG + if (securityOptions.sri) { + config.plugins.push( + normalize( + fileURLToPath( + new URL('./runtime/nitro/plugins/01m-subresourceIntegrity', import.meta.url) + ) + ) + ) + } + // Nitro plugin to enable nonce for CSP if (nuxt.options.security.nonce) { config.plugins.push( diff --git a/src/runtime/nitro/plugins/01m-subresourceIntegrity.ts b/src/runtime/nitro/plugins/01m-subresourceIntegrity.ts new file mode 100644 index 00000000..704ad773 --- /dev/null +++ b/src/runtime/nitro/plugins/01m-subresourceIntegrity.ts @@ -0,0 +1,84 @@ +import type { H3Event } from 'h3' +import { extname } from 'pathe' +import { useStorage } from '#imports' +import * as cheerio from 'cheerio' + +export default defineNitroPlugin((nitroApp) => { + nitroApp.hooks.hook('render:html', async (html, { event }) => { + const prerendering = isPrerendering(event) + + // Retrieve the sriHases that we computed at build time + // + // - If we are in a pre-rendering step of nuxi generate + // Then the /integrity directory does not exist in server assets + // But it is still in the .nuxt build directory + // + // - Conversely, if we are in a standalone SSR server pre-built by nuxi build + // Then we don't have a .nuxt build directory anymore + // But we did save the /integrity directory into the server assets + + const storageBase = prerendering ? 'build' : 'assets' + const sriHashes: Record = await useStorage(storageBase).getItem('integrity:sriHashes.json') || {} + + // Scan all relevant sections of the NuxtRenderHtmlContext + for (const section of ['body', 'bodyAppend', 'bodyPrepend', 'head']) { + const htmlRecords = html as unknown as Record + + htmlRecords[section] = htmlRecords[section].map(element => { + const $ = cheerio.load(element, null, false) + // Add integrity to all relevant script tags + $('script').each((i, script) => { + const scriptAttrs = $(script).attr() + const src = scriptAttrs?.src + const integrity = scriptAttrs?.integrity + // Only add integrity to external scripts that do not already have one + if (src && !integrity) { + // Get the integrity hash from our static database + const hash = sriHashes[src] + // Set the integrity hash in HTML if found + if (hash) { + $(script).attr('integrity', hash) + } + } + }) + // Add integrity to all relevant link tags + $('link').each((i, link) => { + const linkAttrs = $(link).attr() + const href = linkAttrs?.href + const integrity = linkAttrs?.integrity + // Only add integrity to resources that do not already have one + if (href && !integrity) { + // Get the integrity hash from our static database + const hash = sriHashes[href] + // Set the integrity hash in HTML if found + if (hash) { + $(link).attr('integrity', hash) + } + } + }) + return $.html() + }) + } + }) + + /** + * Detect if page is being pre-rendered + * @param event H3Event + * @returns boolean + */ + function isPrerendering(event: H3Event): boolean { + const nitroPrerenderHeader = 'x-nitro-prerender' + + // Page is not prerendered + if (!event.node.req.headers[nitroPrerenderHeader]) { + return false + } + + // File is not HTML + if (!['', '.html'].includes(extname(event.node.req.headers[nitroPrerenderHeader] as string))) { + return false + } + + return true + } +}) \ No newline at end of file diff --git a/src/runtime/utils/sriHashes.ts b/src/runtime/utils/sriHashes.ts new file mode 100644 index 00000000..f6c16ca7 --- /dev/null +++ b/src/runtime/utils/sriHashes.ts @@ -0,0 +1,59 @@ +import { createHash } from 'node:crypto' +import { readdir, readFile, writeFile, mkdir } from 'node:fs/promises' +import type { Nitro } from 'nitropack' +import { join } from 'pathe' + + +export default async function (nitro: Nitro) { + const hashAlgorithm = 'sha384' + const sriHashes: Record = {} + + // Will be later necessary to construct url + const { cdnURL: appCdnUrl = '', baseURL: appBaseUrl } = nitro.options.runtimeConfig.app + + // Go through all public assets folder by folder + const publicAssets = nitro.options.publicAssets + for (const publicAsset of publicAssets) { + const { dir, baseURL = '' } = publicAsset + // TBD + // recursive option on readdir is supported since NodeJS 18 + // do we have a minimum build engine requirement ? + const entries = await readdir(dir, { withFileTypes: true, recursive: true }) + console.log(`in ${dir}`, publicAsset, entries) + for (const entry of entries) { + if (entry.isFile()) { + const fullPath = join(entry.path, entry.name) + const fileContent = await readFile(fullPath) + const hash = generateHash(fileContent, hashAlgorithm) + // construct the url as it will appear in the head template + const relativeUrl = join(baseURL, entry.name) + let url: string + if (appCdnUrl) { + // If the cdnURL option was set, the url will be in the form https://... + url = new URL(relativeUrl, appCdnUrl).href + } else { + // If not, the url will be in a relative form: /_nuxt/... + url = join('/', appBaseUrl, relativeUrl) + } + sriHashes[url] = hash + } + } + } + + // Save hashes in a /integrity directory within the .nuxt build for later use with SSG + const buildDir = nitro.options.buildDir + const integrityDir = join(buildDir, 'integrity') + await mkdir(integrityDir) + const hashFilePath = join(integrityDir, 'sriHashes.json') + await writeFile(hashFilePath, JSON.stringify(sriHashes)) + + // Mount the /integrity directory into server assets for later use with SSR + nitro.options.serverAssets.push({ dir: integrityDir, baseName: 'integrity' }) + +} + +function generateHash (content: Buffer, hashAlgorithm: string) { + const hash = createHash(hashAlgorithm) + hash.update(content) + return `${hashAlgorithm}-${hash.digest('base64')}` +} diff --git a/src/types/index.ts b/src/types/index.ts index 6be40128..80046da0 100644 --- a/src/types/index.ts +++ b/src/types/index.ts @@ -22,6 +22,7 @@ export interface ModuleOptions { nonce: boolean; removeLoggers?: RemoveOptions | false; ssg?: Ssg; + sri?: boolean } export interface NuxtSecurityRouteRules { diff --git a/yarn.lock b/yarn.lock index b2ac7ba3..e7a3e9ad 100644 --- a/yarn.lock +++ b/yarn.lock @@ -122,7 +122,7 @@ resolved "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.22.15.tgz" integrity sha512-qLNsZbgrNh0fDQBCPocSL8guki1hcPvltGDv/NxvUoABwFq7GkKSu1nRXeJkVZc+wJvne2E0RKQz+2SQrz6eAA== dependencies: - "@babel/types" "^7.22.15" + "@babel/types" "^7.23.0" "@babel/helper-module-imports@^7.22.15", "@babel/helper-module-imports@^7.22.5": version "7.22.15" @@ -720,7 +720,7 @@ "@nodelib/fs.stat" "2.0.5" run-parallel "^1.1.9" -"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": +"@nodelib/fs.stat@^2.0.2", "@nodelib/fs.stat@2.0.5": version "2.0.5" resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== @@ -1027,41 +1027,6 @@ resolved "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.3.0.tgz" integrity sha512-mKY+oijI4ahBMc/GygVGvEdOq0L4DxhYgwQqYAz/7yPzuGi79oXrZG52WdpGA1wLBPrYb0T8uBaGFo7I6rvSKw== -"@parcel/watcher-darwin-x64@2.3.0": - version "2.3.0" - resolved "https://registry.yarnpkg.com/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.3.0.tgz#83c902994a2a49b9e1ab5050dba24876fdc2c219" - integrity sha512-20oBj8LcEOnLE3mgpy6zuOq8AplPu9NcSSSfyVKgfOhNAc4eF4ob3ldj0xWjGGbOF7Dcy1Tvm6ytvgdjlfUeow== - -"@parcel/watcher-freebsd-x64@2.3.0": - version "2.3.0" - resolved "https://registry.yarnpkg.com/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.3.0.tgz#7a0f4593a887e2752b706aff2dae509aef430cf6" - integrity sha512-7LftKlaHunueAEiojhCn+Ef2CTXWsLgTl4hq0pkhkTBFI3ssj2bJXmH2L67mKpiAD5dz66JYk4zS66qzdnIOgw== - -"@parcel/watcher-linux-arm-glibc@2.3.0": - version "2.3.0" - resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.3.0.tgz#3fc90c3ebe67de3648ed2f138068722f9b1d47da" - integrity sha512-1apPw5cD2xBv1XIHPUlq0cO6iAaEUQ3BcY0ysSyD9Kuyw4MoWm1DV+W9mneWI+1g6OeP6dhikiFE6BlU+AToTQ== - -"@parcel/watcher-linux-arm64-glibc@2.3.0": - version "2.3.0" - resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.3.0.tgz#f7bbbf2497d85fd11e4c9e9c26ace8f10ea9bcbc" - integrity sha512-mQ0gBSQEiq1k/MMkgcSB0Ic47UORZBmWoAWlMrTW6nbAGoLZP+h7AtUM7H3oDu34TBFFvjy4JCGP43JlylkTQA== - -"@parcel/watcher-linux-arm64-musl@2.3.0": - version "2.3.0" - resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.3.0.tgz#de131a9fcbe1fa0854e9cbf4c55bed3b35bcff43" - integrity sha512-LXZAExpepJew0Gp8ZkJ+xDZaTQjLHv48h0p0Vw2VMFQ8A+RKrAvpFuPVCVwKJCr5SE+zvaG+Etg56qXvTDIedw== - -"@parcel/watcher-linux-x64-glibc@2.3.0": - version "2.3.0" - resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.3.0.tgz#193dd1c798003cdb5a1e59470ff26300f418a943" - integrity sha512-P7Wo91lKSeSgMTtG7CnBS6WrA5otr1K7shhSjKHNePVmfBHDoAOHYRXgUmhiNfbcGk0uMCHVcdbfxtuiZCHVow== - -"@parcel/watcher-linux-x64-musl@2.3.0": - version "2.3.0" - resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.3.0.tgz#6dbdb86d96e955ab0fe4a4b60734ec0025a689dd" - integrity sha512-+kiRE1JIq8QdxzwoYY+wzBs9YbJ34guBweTK8nlzLKimn5EQ2b2FSC+tAOpq302BuIMjyuUGvBiUhEcLIGMQ5g== - "@parcel/watcher-wasm@2.3.0": version "2.3.0" resolved "https://registry.npmjs.org/@parcel/watcher-wasm/-/watcher-wasm-2.3.0.tgz" @@ -1071,7 +1036,7 @@ micromatch "^4.0.5" napi-wasm "^1.1.0" -"@parcel/watcher-win32-arm64@2.3.0": +"@parcel/watcher@^2.1.0", "@parcel/watcher@^2.3.0": version "2.3.0" resolved "https://registry.yarnpkg.com/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.3.0.tgz#59da26a431da946e6c74fa6b0f30b120ea6650b6" integrity sha512-35gXCnaz1AqIXpG42evcoP2+sNL62gZTMZne3IackM+6QlfMcJLy3DrjuL6Iks7Czpd3j4xRBzez3ADCj1l7Aw== @@ -1328,10 +1293,10 @@ integrity sha512-ooaHxlmSgZTM6CHYAFRlifqh1OAr3PAQEwi7lhYhaegbnXrnh7CDcHmc3+ihhbQC7H0i4JF0psI5ehzkF6Yl6Q== dependencies: "@eslint-community/regexpp" "^4.5.1" - "@typescript-eslint/scope-manager" "6.7.2" - "@typescript-eslint/type-utils" "6.7.2" - "@typescript-eslint/utils" "6.7.2" - "@typescript-eslint/visitor-keys" "6.7.2" + "@typescript-eslint/scope-manager" "6.7.5" + "@typescript-eslint/type-utils" "6.7.5" + "@typescript-eslint/utils" "6.7.5" + "@typescript-eslint/visitor-keys" "6.7.5" debug "^4.3.4" graphemer "^1.4.0" ignore "^5.2.4" @@ -1344,10 +1309,10 @@ resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.7.2.tgz" integrity sha512-KA3E4ox0ws+SPyxQf9iSI25R6b4Ne78ORhNHeVKrPQnoYsb9UhieoiRoJgrzgEeKGOXhcY1i8YtOeCHHTDa6Fw== dependencies: - "@typescript-eslint/scope-manager" "6.7.2" - "@typescript-eslint/types" "6.7.2" - "@typescript-eslint/typescript-estree" "6.7.2" - "@typescript-eslint/visitor-keys" "6.7.2" + "@typescript-eslint/scope-manager" "6.7.5" + "@typescript-eslint/types" "6.7.5" + "@typescript-eslint/typescript-estree" "6.7.5" + "@typescript-eslint/visitor-keys" "6.7.5" debug "^4.3.4" "@typescript-eslint/scope-manager@6.7.2": @@ -1355,16 +1320,16 @@ resolved "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.7.2.tgz" integrity sha512-bgi6plgyZjEqapr7u2mhxGR6E8WCzKNUFWNh6fkpVe9+yzRZeYtDTbsIBzKbcxI+r1qVWt6VIoMSNZ4r2A+6Yw== dependencies: - "@typescript-eslint/types" "6.7.2" - "@typescript-eslint/visitor-keys" "6.7.2" + "@typescript-eslint/types" "6.7.5" + "@typescript-eslint/visitor-keys" "6.7.5" "@typescript-eslint/type-utils@6.7.2": version "6.7.2" resolved "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.7.2.tgz" integrity sha512-36F4fOYIROYRl0qj95dYKx6kybddLtsbmPIYNK0OBeXv2j9L5nZ17j9jmfy+bIDHKQgn2EZX+cofsqi8NPATBQ== dependencies: - "@typescript-eslint/typescript-estree" "6.7.2" - "@typescript-eslint/utils" "6.7.2" + "@typescript-eslint/typescript-estree" "6.7.5" + "@typescript-eslint/utils" "6.7.5" debug "^4.3.4" ts-api-utils "^1.0.1" @@ -1378,8 +1343,8 @@ resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.7.2.tgz" integrity sha512-kiJKVMLkoSciGyFU0TOY0fRxnp9qq1AzVOHNeN1+B9erKFCJ4Z8WdjAkKQPP+b1pWStGFqezMLltxO+308dJTQ== dependencies: - "@typescript-eslint/types" "6.7.2" - "@typescript-eslint/visitor-keys" "6.7.2" + "@typescript-eslint/types" "6.7.5" + "@typescript-eslint/visitor-keys" "6.7.5" debug "^4.3.4" globby "^11.1.0" is-glob "^4.0.3" @@ -1394,9 +1359,9 @@ "@eslint-community/eslint-utils" "^4.4.0" "@types/json-schema" "^7.0.12" "@types/semver" "^7.5.0" - "@typescript-eslint/scope-manager" "6.7.2" - "@typescript-eslint/types" "6.7.2" - "@typescript-eslint/typescript-estree" "6.7.2" + "@typescript-eslint/scope-manager" "6.7.5" + "@typescript-eslint/types" "6.7.5" + "@typescript-eslint/typescript-estree" "6.7.5" semver "^7.5.4" "@typescript-eslint/visitor-keys@6.7.2": @@ -1404,7 +1369,7 @@ resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.7.2.tgz" integrity sha512-uVw9VIMFBUTz8rIeaUT3fFe8xIUx8r4ywAdlQv1ifH+6acn/XF8Y6rwJ7XNmkNMDrTW+7+vxFFPIF40nJCVsMQ== dependencies: - "@typescript-eslint/types" "6.7.2" + "@typescript-eslint/types" "6.7.5" eslint-visitor-keys "^3.4.1" "@unhead/dom@1.7.4", "@unhead/dom@^1.7.4": @@ -1572,7 +1537,7 @@ "@vue/compiler-core" "3.3.4" "@vue/shared" "3.3.4" -"@vue/compiler-sfc@3.3.4", "@vue/compiler-sfc@^3.3.4": +"@vue/compiler-sfc@^3.3.4", "@vue/compiler-sfc@3.3.4": version "3.3.4" resolved "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.3.4.tgz" integrity sha512-6y/d8uw+5TkCuzBkgLS0v3lSM3hJDntFEiUORM11pQ/hKvkhSKZrXW6i69UyXlJQisJxuUEJKAWEqWbWsLeNKQ== @@ -1644,7 +1609,7 @@ "@vue/compiler-ssr" "3.3.4" "@vue/shared" "3.3.4" -"@vue/shared@3.3.4", "@vue/shared@^3.3.4": +"@vue/shared@^3.3.4", "@vue/shared@3.3.4": version "3.3.4" resolved "https://registry.npmjs.org/@vue/shared/-/shared-3.3.4.tgz" integrity sha512-7OjdcV8vQ74eiz1TZLzZP4JwqM5fA94K6yntPS5Z25r9HDuGNzaGdgvwKYq6S+MxwF0TFRwe50fIR/MYnakdkQ== @@ -1954,10 +1919,10 @@ browserslist@^4.0.0, browserslist@^4.21.10, browserslist@^4.21.4, browserslist@^ resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.21.10.tgz" integrity sha512-bipEBdZfVH5/pwrvqc+Ub0kUPVfGUhlKxbvfD+z1BDnPEO/X98ruXGA1WP5ASpAFKan7Qr6j736IacbZQuAlKQ== dependencies: - caniuse-lite "^1.0.30001517" - electron-to-chromium "^1.4.477" + caniuse-lite "^1.0.30001541" + electron-to-chromium "^1.4.535" node-releases "^2.0.13" - update-browserslist-db "^1.0.11" + update-browserslist-db "^1.0.13" buffer-crc32@^0.2.1: version "0.2.13" @@ -2077,12 +2042,12 @@ chai@^4.3.7: integrity sha512-vX4YvVVtxlfSZ2VecZgFUTU5qPCYsobVI2O9FmwEXBhDigYGQA6jRXCycIs1yJnnWbZ6/+a2zNIF5DfVCcJBFQ== dependencies: assertion-error "^1.1.0" - check-error "^1.0.2" - deep-eql "^4.1.2" - get-func-name "^2.0.0" - loupe "^2.3.1" + check-error "^1.0.3" + deep-eql "^4.1.3" + get-func-name "^2.0.2" + loupe "^2.3.6" pathval "^1.1.1" - type-detect "^4.0.5" + type-detect "^4.0.8" chalk@^2.4.2: version "2.4.2" @@ -2240,7 +2205,7 @@ colorette@^2.0.20: resolved "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz" integrity sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w== -commander@^2.20.0, commander@^2.20.3: +commander@^2.20.0: version "2.20.3" resolved "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz" integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== @@ -2444,7 +2409,7 @@ debug@2.6.9: resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== dependencies: - ms "2.0.0" + ms "^2.1.1" debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.2, debug@^4.3.3, debug@^4.3.4: version "4.3.4" @@ -2695,7 +2660,40 @@ error-stack-parser-es@^0.1.1: resolved "https://registry.npmjs.org/error-stack-parser-es/-/error-stack-parser-es-0.1.1.tgz" integrity sha512-g/9rfnvnagiNf+DRMHEVGuGuIBlCIMDFoTA616HaP2l9PlCjGjVhD98PNbVSJvmK4TttqT5mV5tInMhoFgi+aA== -esbuild@^0.18.10, esbuild@^0.18.14: +esbuild-darwin-arm64@0.15.18: + version "0.15.18" + resolved "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.18.tgz" + integrity sha512-tKPSxcTJ5OmNb1btVikATJ8NftlyNlc8BVNtyT/UAr62JFOhwHlnoPrhYWz09akBLHI9nElFVfWSTSRsrZiDUA== + +esbuild@^0.15.9, esbuild@>=0.13: + version "0.15.18" + resolved "https://registry.npmjs.org/esbuild/-/esbuild-0.15.18.tgz" + integrity sha512-x/R72SmW3sSFRm5zrrIjAhCeQSAWoni3CmHEqfQrZIQTM3lVCdehdwuIqaOtfC2slvpdlLa62GYoN8SxT23m6Q== + optionalDependencies: + "@esbuild/android-arm" "0.15.18" + "@esbuild/linux-loong64" "0.15.18" + esbuild-android-64 "0.15.18" + esbuild-android-arm64 "0.15.18" + esbuild-darwin-64 "0.15.18" + esbuild-darwin-arm64 "0.15.18" + esbuild-freebsd-64 "0.15.18" + esbuild-freebsd-arm64 "0.15.18" + esbuild-linux-32 "0.15.18" + esbuild-linux-64 "0.15.18" + esbuild-linux-arm "0.15.18" + esbuild-linux-arm64 "0.15.18" + esbuild-linux-mips64le "0.15.18" + esbuild-linux-ppc64le "0.15.18" + esbuild-linux-riscv64 "0.15.18" + esbuild-linux-s390x "0.15.18" + esbuild-netbsd-64 "0.15.18" + esbuild-openbsd-64 "0.15.18" + esbuild-sunos-64 "0.15.18" + esbuild-windows-32 "0.15.18" + esbuild-windows-64 "0.15.18" + esbuild-windows-arm64 "0.15.18" + +esbuild@^0.18.10: version "0.18.20" resolved "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz" integrity sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA== @@ -2873,7 +2871,7 @@ estraverse@^5.1.0, estraverse@^5.2.0: resolved "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz" integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== -estree-walker@2.0.2, estree-walker@^2.0.1, estree-walker@^2.0.2: +estree-walker@^2.0.1, estree-walker@^2.0.2, estree-walker@2.0.2: version "2.0.2" resolved "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz" integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== @@ -3025,7 +3023,7 @@ flat-cache@^3.0.4: resolved "https://registry.npmjs.org/flat-cache/-/flat-cache-3.1.0.tgz" integrity sha512-OHx4Qwrrt0E4jEIcI5/Xb+f+QmJYNj2rrK8wiIdQOIrB9WrrJL8cjZvXdXuBTkkEwEqLycb5BeZDV1o2i9bTew== dependencies: - flatted "^3.2.7" + flatted "^3.2.9" keyv "^4.5.3" rimraf "^3.0.2" @@ -3493,7 +3491,7 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@2, inherits@2.0.4, inherits@^2.0.3, inherits@~2.0.3: +inherits@^2.0.3, inherits@~2.0.3, inherits@2, inherits@2.0.4: version "2.0.4" resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== @@ -3890,7 +3888,7 @@ loupe@^2.3.1, loupe@^2.3.6: resolved "https://registry.npmjs.org/loupe/-/loupe-2.3.6.tgz" integrity sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA== dependencies: - get-func-name "^2.0.0" + get-func-name "^2.0.1" lru-cache@^10.0.0, lru-cache@^10.0.1, "lru-cache@^9.1.1 || ^10.0.0": version "10.0.1" @@ -4042,6 +4040,11 @@ mime@~2.5.2: resolved "https://registry.npmjs.org/mime/-/mime-2.5.2.tgz" integrity sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg== +mime@1.6.0: + version "1.6.0" + resolved "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz" + integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== + mimic-fn@^2.1.0: version "2.1.0" resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz" @@ -4059,7 +4062,7 @@ minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: dependencies: brace-expansion "^1.1.7" -minimatch@^5.0.1, minimatch@^5.1.0: +minimatch@^5.0.1: version "5.1.6" resolved "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz" integrity sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g== @@ -4649,7 +4652,7 @@ openapi-typescript@^6.7.0: undici "^5.23.0" yargs-parser "^21.1.1" -optionator@^0.9.3: +optionator@^0.9.1, optionator@^0.9.3: version "0.9.3" resolved "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz" integrity sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg== @@ -5214,7 +5217,7 @@ read-package-json@^7.0.0: normalize-package-data "^6.0.0" npm-normalize-package-bin "^3.0.0" -readable-stream@^2.0.1, readable-stream@^2.0.5: +readable-stream@^2.0.1: version "2.3.8" resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz" integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== @@ -5308,7 +5311,7 @@ rollup-plugin-dts@^6.0.0: resolved "https://registry.npmjs.org/rollup-plugin-dts/-/rollup-plugin-dts-6.0.2.tgz" integrity sha512-GYCCy9DyE5csSuUObktJBpjNpW2iLZMabNDIiAqzQWBl7l/WHzjvtAXevf8Lftk8EA920tuxeB/g8dM8MVMR6A== dependencies: - magic-string "^0.30.3" + magic-string "^0.30.4" optionalDependencies: "@babel/code-frame" "^7.22.13" @@ -5358,6 +5361,11 @@ safe-buffer@~5.2.0: resolved "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== +"safer-buffer@>= 2.1.2 < 3.0.0": + version "2.1.2" + resolved "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz" + integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + scule@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/scule/-/scule-1.0.0.tgz" @@ -5375,6 +5383,11 @@ semver@^7.0.0, semver@^7.1.1, semver@^7.3.4, semver@^7.3.5, semver@^7.3.6, semve dependencies: lru-cache "^6.0.0" +"semver@2 || 3 || 4 || 5": + version "5.7.2" + resolved "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz" + integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== + send@0.18.0: version "0.18.0" resolved "https://registry.npmjs.org/send/-/send-0.18.0.tgz" @@ -5864,7 +5877,7 @@ type-check@^0.4.0, type-check@~0.4.0: dependencies: prelude-ls "^1.2.1" -type-detect@^4.0.0, type-detect@^4.0.5: +type-detect@^4.0.0, type-detect@^4.0.8: version "4.0.8" resolved "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz" integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== @@ -6331,7 +6344,7 @@ vue-router@^4.2.5: dependencies: "@vue/devtools-api" "^6.5.0" -vue@^3.3.4: +"vue@^2.7.0 || ^3.2.25", vue@^3.0.0, vue@^3.2.0, vue@^3.2.25, vue@^3.3.4, "vue@>=2.7 || >=3", vue@3.3.4: version "3.3.4" resolved "https://registry.npmjs.org/vue/-/vue-3.3.4.tgz" integrity sha512-VTyEYn3yvIeY1Py0WaYGZsXnz3y5UnGi62GjVEqvEGPl6nxbOrCXbVOTQWBEJUqAyTUk2uJ5JLVnYJ6ZzGbrSw== From 702d14ed7470ee29145b3e4b41246fc838f7de3f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Raffray?= Date: Tue, 7 Nov 2023 18:03:20 +0100 Subject: [PATCH 06/16] add hashStyles default value to docs --- .../1.documentation/1.getting-started/2.configuration.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/content/1.documentation/1.getting-started/2.configuration.md b/docs/content/1.documentation/1.getting-started/2.configuration.md index 60dc5de1..8e1378fc 100644 --- a/docs/content/1.documentation/1.getting-started/2.configuration.md +++ b/docs/content/1.documentation/1.getting-started/2.configuration.md @@ -114,7 +114,8 @@ security: { exclude: [/node_modules/, /\.git/] }, ssg: { - hashScripts: true + hashScripts: true, + hashStyles: false } } ``` From 61d91bfe1d25ce1815d3a204b24e0baf05556f91 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Raffray?= Date: Wed, 8 Nov 2023 00:50:14 +0100 Subject: [PATCH 07/16] add tests and doc --- .../1.getting-started/2.configuration.md | 4 +- .../4.utils/3.subresource-integrity.md | 69 ++++++++++++++++++ .../nitro/plugins/01m-subresourceIntegrity.ts | 2 + src/runtime/utils/sriHashes.ts | 1 - test/fixtures/sri/.nuxtrc | 1 + test/fixtures/sri/assets/snyk.png | Bin 0 -> 1400818 bytes test/fixtures/sri/nuxt.config.ts | 20 +++++ test/fixtures/sri/package.json | 5 ++ test/fixtures/sri/pages/asset.vue | 7 ++ test/fixtures/sri/pages/external.vue | 15 ++++ test/fixtures/sri/pages/index.vue | 10 +++ test/fixtures/sri/pages/public.vue | 14 ++++ test/fixtures/sri/public/icon.png | Bin 0 -> 15969 bytes test/fixtures/sri/public/preview.png | Bin 0 -> 366659 bytes test/sri.test.ts | 61 ++++++++++++++++ 15 files changed, 207 insertions(+), 2 deletions(-) create mode 100644 docs/content/1.documentation/4.utils/3.subresource-integrity.md create mode 100644 test/fixtures/sri/.nuxtrc create mode 100644 test/fixtures/sri/assets/snyk.png create mode 100644 test/fixtures/sri/nuxt.config.ts create mode 100644 test/fixtures/sri/package.json create mode 100644 test/fixtures/sri/pages/asset.vue create mode 100644 test/fixtures/sri/pages/external.vue create mode 100644 test/fixtures/sri/pages/index.vue create mode 100644 test/fixtures/sri/pages/public.vue create mode 100644 test/fixtures/sri/public/icon.png create mode 100644 test/fixtures/sri/public/preview.png create mode 100644 test/sri.test.ts diff --git a/docs/content/1.documentation/1.getting-started/2.configuration.md b/docs/content/1.documentation/1.getting-started/2.configuration.md index 60dc5de1..6ba1b83e 100644 --- a/docs/content/1.documentation/1.getting-started/2.configuration.md +++ b/docs/content/1.documentation/1.getting-started/2.configuration.md @@ -27,6 +27,7 @@ interface ModuleOptions { nonce: boolean; removeLoggers?: RemoveOptions | false; ssg?: Ssg; + sri: boolean; } ``` @@ -115,7 +116,8 @@ security: { }, ssg: { hashScripts: true - } + }, + sri: true } ``` diff --git a/docs/content/1.documentation/4.utils/3.subresource-integrity.md b/docs/content/1.documentation/4.utils/3.subresource-integrity.md new file mode 100644 index 00000000..414193c6 --- /dev/null +++ b/docs/content/1.documentation/4.utils/3.subresource-integrity.md @@ -0,0 +1,69 @@ +# Subresource Integrity + +:badge[Enabled]{type="success"} Ensure that your application bundle has not been manipulated. + +--- + +:ellipsis{right=0px width=75% blur=150px} + +Subresource Integrity (SRI) is a security feature that enables the browser to verify that the static assets that your application is loading have not been altered. + +Nuxt Security automatically computes the integrity hash of each static asset (scripts, stylesheets, etc.) that are bundled in your Nuxt Application, and then inserts this value in the resulting HTML file. + + +::alert{type="info"} +ℹ Read more about Subresource Integrity [here](https://developer.mozilla.org/en-US/docs/Web/Security/Subresource_Integrity). +:: + +## Options + +This feature is enabled globally by default. You can customize it like following: + +```js{}[nuxt.config.ts] +export default defineNuxtConfig({ + // Global + security: { + sri: true + } +}) +``` + +You can disable the feature globally by setting `sri: false`. + +## Usage + +Subresource Integrity is used for two important security features of your application: + +**1. SRI ensures that the assets that _you_ included in your build have not been altered.** + +When you build your Nuxt application and deliver it to your users, a significant number of critical components are included in your final bundle. + +These components are mostly scripts containing Javascript code (files such as `/_nuxt/entry.b8aef440d.js`), stylesheets, etc. An attacker may try to compromise your application by modifying these files. + +Nuxt Security calculates the hash of each of these files _at build time_, therefore guaranteeing that the files that are loaded by your users are exactly the ones that you included in your bundle. + +Arguably, if you host your static assets yourself, the risk that these files are modified by a malicious actor without your authorization can be rated as low. + +However: + +- If you host your application on a public CDN, that CDN could become the target of an attack. +- Even if you host your application on a private hosting service, you should be aware that most hosting providers use elaborate caching strategies to accelerate the delivery of your files (e.g. via edge CDN replication). +- In any case, your own account (or the account of one of the members of your organization) might become compromised. + +For these reasons, most modern web applications rely on SRI to reduce their attack surface. + +::alert{type="success"} +SRI is supported by all modern browsers: [caniuse](https://caniuse.com/subresource-integrity) +:: + +**2. SRI is a critical component of Content Security Policy (CSP) in SSG mode.** + +For more information on the relationship between Subresource Integrity and a Strict CSP, please read our [Advanced Section on Integrity Hashes for CSP](/documentation/advanced/strict-csp/#ssg-mode) + +If you use CSP on a statically-generated application, you will need to enable SRI by setting `sri: true`. + +::alert{type="warning"} +Subresource Integrity hashes can only be inserted on ` \ No newline at end of file diff --git a/test/fixtures/sri/pages/index.vue b/test/fixtures/sri/pages/index.vue new file mode 100644 index 00000000..5e78a49d --- /dev/null +++ b/test/fixtures/sri/pages/index.vue @@ -0,0 +1,10 @@ + + + diff --git a/test/fixtures/sri/pages/public.vue b/test/fixtures/sri/pages/public.vue new file mode 100644 index 00000000..bbe5928b --- /dev/null +++ b/test/fixtures/sri/pages/public.vue @@ -0,0 +1,14 @@ + + diff --git a/test/fixtures/sri/public/icon.png b/test/fixtures/sri/public/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..dbbf391ca35d2b70130b9493a620e3977e101d5b GIT binary patch literal 15969 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 z%0D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Μc5MHL4RLF~qo_30IEotxdC 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

;cFRARqaK21#EzQvkaI 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̹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 tFt?0m5=gl { + await setup({ + rootDir: fileURLToPath(new URL('./fixtures/sri', import.meta.url)), + build: true + }) + + const expectedIntegrityAttributes = 7 // 6 links (entry, index, nuxt-link, error-404, vue, error-500), 1 script (entry) + + it('injects `integrity` on Nuxt root scripts', async () => { + const res = await fetch('/') + + const text = await res.text() + const elementsWithIntegrity = text.match(/ integrity="sha384-/g)?.length ?? 0 + + expect(res).toBeDefined() + expect(res).toBeTruthy() + expect(text).toBeDefined() + expect(elementsWithIntegrity).toBe(expectedIntegrityAttributes) + }) + + it('injects `integrity` on resources bundled from assets folder', async () => { + const res = await fetch('/asset') + + const text = await res.text() + const elementsWithIntegrity = text.match(/ integrity="sha384-/g)?.length ?? 0 + + expect(res).toBeDefined() + expect(res).toBeTruthy() + expect(text).toBeDefined() + expect(elementsWithIntegrity).toBe(expectedIntegrityAttributes + 1) // 7 for Nuxt, 1 image + }) + + + it('injects `integrity` on links to public folder', async () => { + const res = await fetch('/public') + + const text = await res.text() + const elementsWithIntegrity = text.match(/ integrity="sha384-/g)?.length ?? 0 + + expect(res).toBeDefined() + expect(res).toBeTruthy() + expect(text).toBeDefined() + expect(elementsWithIntegrity).toBe(expectedIntegrityAttributes + 2) // 7 for Nuxt, 2 images + }) + + it('does not modify `integrity` attributes when manually provided', async () => { + const res = await fetch('/external') + + const text = await res.text() + const elementsWithIntegrity = text.match(/ integrity="sha384-/g)?.length ?? 0 + + expect(res).toBeDefined() + expect(res).toBeTruthy() + expect(text).toBeDefined() + expect(elementsWithIntegrity).toBe(expectedIntegrityAttributes + 2) // 7 for Nuxt, 2 Bootstrap (script + css) + }) +}) From 1bbb24b9f23343b2d1392f0538549974d4ed2cb0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Raffray?= Date: Wed, 8 Nov 2023 01:13:33 +0100 Subject: [PATCH 08/16] change plugin order: sri before ssg --- src/module.ts | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/module.ts b/src/module.ts index 9f1cef62..4be1a698 100644 --- a/src/module.ts +++ b/src/module.ts @@ -268,26 +268,26 @@ const registerSecurityNitroPlugins = ( ) } - // Register nitro plugin to enable CSP for SSG - if ( - typeof securityOptions.headers === 'object' && - securityOptions.headers.contentSecurityPolicy - ) { + // Register nitro plugin to enable subresource integrity + if (securityOptions.sri) { config.plugins.push( normalize( fileURLToPath( - new URL('./runtime/nitro/plugins/02-cspSsg', import.meta.url) + new URL('./runtime/nitro/plugins/01m-subresourceIntegrity', import.meta.url) ) ) ) } - // Register nitro plugin to enable subresource integrity and 'strict-dynamic' CSP for SSG - if (securityOptions.sri) { + // Register nitro plugin to enable CSP for SSG + if ( + typeof securityOptions.headers === 'object' && + securityOptions.headers.contentSecurityPolicy + ) { config.plugins.push( normalize( fileURLToPath( - new URL('./runtime/nitro/plugins/01m-subresourceIntegrity', import.meta.url) + new URL('./runtime/nitro/plugins/02-cspSsg', import.meta.url) ) ) ) From 5a91a219ae631948a17db68b052d943167e939f7 Mon Sep 17 00:00:00 2001 From: Jonas Thelemann Date: Wed, 8 Nov 2023 07:45:51 +0100 Subject: [PATCH 09/16] fix(headers): allow csp value to be `false` See https://github.com/Baroshem/nuxt-security/discussions/280 --- src/types/headers.ts | 48 ++++++++++++++++++++++---------------------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/src/types/headers.ts b/src/types/headers.ts index b0ea7b12..b044d9a0 100644 --- a/src/types/headers.ts +++ b/src/types/headers.ts @@ -61,30 +61,30 @@ export type CSPSandboxValue = | 'allow-top-navigation-to-custom-protocols'; export type ContentSecurityPolicyValue = { - 'child-src'?: CSPSourceValue[]; - 'connect-src'?: CSPSourceValue[]; - 'default-src'?: CSPSourceValue[]; - 'font-src'?: CSPSourceValue[]; - 'frame-src'?: CSPSourceValue[]; - 'img-src'?: CSPSourceValue[]; - 'manifest-src'?: CSPSourceValue[]; - 'media-src'?: CSPSourceValue[]; - 'object-src'?: CSPSourceValue[]; - 'prefetch-src'?: CSPSourceValue[]; - 'script-src'?: CSPSourceValue[]; - 'script-src-elem'?: CSPSourceValue[]; - 'script-src-attr'?: CSPSourceValue[]; - 'style-src'?: CSPSourceValue[]; - 'style-src-elem'?: CSPSourceValue[]; - 'style-src-attr'?: CSPSourceValue[]; - 'worker-src'?: CSPSourceValue[]; - 'base-uri'?: CSPSourceValue[]; - 'sandbox'?: CSPSandboxValue[]; - 'form-action'?: CSPSourceValue[]; - 'frame-ancestors'?: ("'self'" | "'none'" | string)[]; - 'navigate-to'?: ("'self'" | "'none'" | "'unsafe-allow-redirects'" | string)[]; - 'report-uri'?: string[]; - 'report-to'?: string[]; + 'child-src'?: CSPSourceValue[] | false; + 'connect-src'?: CSPSourceValue[] | false; + 'default-src'?: CSPSourceValue[] | false; + 'font-src'?: CSPSourceValue[] | false; + 'frame-src'?: CSPSourceValue[] | false; + 'img-src'?: CSPSourceValue[] | false; + 'manifest-src'?: CSPSourceValue[] | false; + 'media-src'?: CSPSourceValue[] | false; + 'object-src'?: CSPSourceValue[] | false; + 'prefetch-src'?: CSPSourceValue[] | false; + 'script-src'?: CSPSourceValue[] | false; + 'script-src-elem'?: CSPSourceValue[] | false; + 'script-src-attr'?: CSPSourceValue[] | false; + 'style-src'?: CSPSourceValue[] | false; + 'style-src-elem'?: CSPSourceValue[] | false; + 'style-src-attr'?: CSPSourceValue[] | false; + 'worker-src'?: CSPSourceValue[] | false; + 'base-uri'?: CSPSourceValue[] | false; + 'sandbox'?: CSPSandboxValue[] | false; + 'form-action'?: CSPSourceValue[] | false; + 'frame-ancestors'?: ("'self'" | "'none'" | string)[] | false; + 'navigate-to'?: ("'self'" | "'none'" | "'unsafe-allow-redirects'" | string)[] | false; + 'report-uri'?: string[] | false; + 'report-to'?: string[] | false; 'upgrade-insecure-requests'?: boolean; }; From 62ad0ba5f5d35ffac1dae6a5a29def8b75de17e3 Mon Sep 17 00:00:00 2001 From: Jonas Thelemann Date: Wed, 8 Nov 2023 07:48:39 +0100 Subject: [PATCH 10/16] docs(csp): add `false` as possible value --- .../1.documentation/2.headers/1.csp.md | 52 +++++++++---------- 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/docs/content/1.documentation/2.headers/1.csp.md b/docs/content/1.documentation/2.headers/1.csp.md index 33dfd96c..72627953 100644 --- a/docs/content/1.documentation/2.headers/1.csp.md +++ b/docs/content/1.documentation/2.headers/1.csp.md @@ -52,30 +52,30 @@ The `contentSecurityPolicy` header can be configured with following values. ```ts contentSecurityPolicy: { - 'child-src'?: CSPSourceValue[]; - 'connect-src'?: CSPSourceValue[]; - 'default-src'?: CSPSourceValue[]; - 'font-src'?: CSPSourceValue[]; - 'frame-src'?: CSPSourceValue[]; - 'img-src'?: CSPSourceValue[]; - 'manifest-src'?: CSPSourceValue[]; - 'media-src'?: CSPSourceValue[]; - 'object-src'?: CSPSourceValue[]; - 'prefetch-src'?: CSPSourceValue[]; - 'script-src'?: CSPSourceValue[]; - 'script-src-elem'?: CSPSourceValue[]; - 'script-src-attr'?: CSPSourceValue[]; - 'style-src'?: CSPSourceValue[]; - 'style-src-elem'?: CSPSourceValue[]; - 'style-src-attr'?: CSPSourceValue[]; - 'worker-src'?: CSPSourceValue[]; - 'base-uri'?: CSPSourceValue[]; - 'sandbox'?: CSPSandboxValue[]; - 'form-action'?: CSPSourceValue[]; - 'frame-ancestors'?: ("'self'" | "'none'" | string)[]; - 'navigate-to'?: ("'self'" | "'none'" | "'unsafe-allow-redirects'" | string)[]; - 'report-uri'?: string[]; - 'report-to'?: string[]; + 'child-src'?: CSPSourceValue[] | false; + 'connect-src'?: CSPSourceValue[] | false; + 'default-src'?: CSPSourceValue[] | false; + 'font-src'?: CSPSourceValue[] | false; + 'frame-src'?: CSPSourceValue[] | false; + 'img-src'?: CSPSourceValue[] | false; + 'manifest-src'?: CSPSourceValue[] | false; + 'media-src'?: CSPSourceValue[] | false; + 'object-src'?: CSPSourceValue[] | false; + 'prefetch-src'?: CSPSourceValue[] | false; + 'script-src'?: CSPSourceValue[] | false; + 'script-src-elem'?: CSPSourceValue[] | false; + 'script-src-attr'?: CSPSourceValue[] | false; + 'style-src'?: CSPSourceValue[] | false; + 'style-src-elem'?: CSPSourceValue[] | false; + 'style-src-attr'?: CSPSourceValue[] | false; + 'worker-src'?: CSPSourceValue[] | false; + 'base-uri'?: CSPSourceValue[] | false; + 'sandbox'?: CSPSandboxValue[] | false; + 'form-action'?: CSPSourceValue[] | false; + 'frame-ancestors'?: ("'self'" | "'none'" | string)[] | false; + 'navigate-to'?: ("'self'" | "'none'" | "'unsafe-allow-redirects'" | string)[] | false; + 'report-uri'?: string[] | false; + 'report-to'?: string[] | false; 'upgrade-insecure-requests'?: boolean; } | false ``` @@ -184,7 +184,7 @@ export default defineNuxtConfig({ }) ``` -This will add a `nonce` attribute to all ` diff --git a/test/fixtures/ssg/pages/external-script.vue b/test/fixtures/ssg/pages/external-script.vue new file mode 100644 index 00000000..c2f4c53b --- /dev/null +++ b/test/fixtures/ssg/pages/external-script.vue @@ -0,0 +1,12 @@ + + \ No newline at end of file diff --git a/test/fixtures/ssg/pages/external-style.vue b/test/fixtures/ssg/pages/external-style.vue new file mode 100644 index 00000000..87e68fd3 --- /dev/null +++ b/test/fixtures/ssg/pages/external-style.vue @@ -0,0 +1,12 @@ + + \ No newline at end of file diff --git a/test/fixtures/ssg/pages/index.vue b/test/fixtures/ssg/pages/index.vue new file mode 100644 index 00000000..434562b0 --- /dev/null +++ b/test/fixtures/ssg/pages/index.vue @@ -0,0 +1,5 @@ + diff --git a/test/fixtures/ssg/pages/inline-script.vue b/test/fixtures/ssg/pages/inline-script.vue new file mode 100644 index 00000000..2b05802b --- /dev/null +++ b/test/fixtures/ssg/pages/inline-script.vue @@ -0,0 +1,12 @@ + + diff --git a/test/fixtures/ssg/pages/inline-style.vue b/test/fixtures/ssg/pages/inline-style.vue new file mode 100644 index 00000000..52e7746e --- /dev/null +++ b/test/fixtures/ssg/pages/inline-style.vue @@ -0,0 +1,12 @@ + + \ No newline at end of file diff --git a/test/fixtures/ssg/pages/not-ssg.vue b/test/fixtures/ssg/pages/not-ssg.vue new file mode 100644 index 00000000..bc027c81 --- /dev/null +++ b/test/fixtures/ssg/pages/not-ssg.vue @@ -0,0 +1,17 @@ + + \ No newline at end of file diff --git a/test/fixtures/ssg/public/external.css b/test/fixtures/ssg/public/external.css new file mode 100644 index 00000000..c4f8827f --- /dev/null +++ b/test/fixtures/ssg/public/external.css @@ -0,0 +1,3 @@ +div { + color: red; +} \ No newline at end of file diff --git a/test/fixtures/ssg/public/external.js b/test/fixtures/ssg/public/external.js new file mode 100644 index 00000000..648e422a --- /dev/null +++ b/test/fixtures/ssg/public/external.js @@ -0,0 +1 @@ +console.log('Hello World') \ No newline at end of file diff --git a/test/fixtures/ssg/public/icon.png b/test/fixtures/ssg/public/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..dbbf391ca35d2b70130b9493a620e3977e101d5b GIT binary patch literal 15969 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 { + await setup({ + rootDir: fileURLToPath(new URL('./fixtures/ssg', import.meta.url)) + }) + + const expectedIntegrityAttributes = 6 // 5 links (entry, index, error-404, vue, error-500), 1 script (entry) + const expectedInlineScriptHashes = 2 // 1 Hydration data, 1 Nuxt global + const expectedExternalScriptHashes = 2 // 1 entry (modulepreload + script), 1 index (modulepreload) + const expectedInlineStyleHashes = 0 + const expectedExternalStyleHashes = 0 + + function extractDataFromBody(body: string) { + const elementsWithIntegrity = body.match(/ integrity="sha384-/g)?.length ?? 0 + const metaTag = body.match(//) + const csp = metaTag?.[1] + const policies = csp?.split(';').map(policy => policy.trimStart()) || [] + const scriptSrcPolicy = policies.find(policy => policy.startsWith('script-src ')) + const scriptSrcValues = scriptSrcPolicy?.split(' ') || [] + const inlineScriptHashes = scriptSrcValues.filter(value => value.startsWith("'sha256-")).length + const externalScriptHashes = scriptSrcValues.filter(value => value.startsWith("'sha384-")).length + const styleSrcPolicy = policies.find(policy => policy.startsWith('style-src ')) + const styleSrcValues = styleSrcPolicy?.split(' ') || [] + const inlineStyleHashes = styleSrcValues.filter(value => value.startsWith("'sha256-")).length + const externalStyleHashes = styleSrcValues.filter(value => value.startsWith("'sha384-")).length + return { metaTag, csp, elementsWithIntegrity, inlineScriptHashes, externalScriptHashes, inlineStyleHashes, externalStyleHashes } + } + + it('sets CSP in SSG mode', async () => { + const res = await fetch('/') + + const body = await res.text() + const { metaTag, csp, elementsWithIntegrity, inlineScriptHashes, externalScriptHashes, inlineStyleHashes, externalStyleHashes } = extractDataFromBody(body) + + expect(res).toBeDefined() + expect(res).toBeTruthy() + expect(body).toBeDefined() + expect(metaTag).toBeDefined() + expect(csp).toBeDefined() + expect(elementsWithIntegrity).toBe(expectedIntegrityAttributes) + expect(inlineScriptHashes).toBe(expectedInlineScriptHashes) + expect(externalScriptHashes).toBe(expectedExternalScriptHashes) + expect(inlineStyleHashes).toBe(expectedInlineStyleHashes) + expect(externalStyleHashes).toBe(expectedExternalStyleHashes) + }) + + it('sets script-src for inline scripts', async () => { + const res = await fetch('/inline-script') + + const body = await res.text() + const { metaTag, csp, elementsWithIntegrity, inlineScriptHashes, externalScriptHashes, inlineStyleHashes, externalStyleHashes } = extractDataFromBody(body) + + expect(res).toBeDefined() + expect(res).toBeTruthy() + expect(body).toBeDefined() + expect(metaTag).toBeDefined() + expect(csp).toBeDefined() + expect(elementsWithIntegrity).toBe(expectedIntegrityAttributes) + expect(inlineScriptHashes).toBe(expectedInlineScriptHashes + 1) // Inlined script in head + expect(externalScriptHashes).toBe(expectedExternalScriptHashes + 1) // + 1 vue modulepreload + expect(inlineStyleHashes).toBe(expectedInlineStyleHashes) + expect(externalStyleHashes).toBe(expectedExternalStyleHashes) + }) + + it('sets style-src for inline styles', async () => { + const res = await fetch('/inline-style') + + const body = await res.text() + const { metaTag, csp, elementsWithIntegrity, inlineScriptHashes, externalScriptHashes, inlineStyleHashes, externalStyleHashes } = extractDataFromBody(body) + + expect(res).toBeDefined() + expect(res).toBeTruthy() + expect(body).toBeDefined() + expect(metaTag).toBeDefined() + expect(csp).toBeDefined() + expect(elementsWithIntegrity).toBe(expectedIntegrityAttributes) + expect(inlineScriptHashes).toBe(expectedInlineScriptHashes) + expect(externalScriptHashes).toBe(expectedExternalScriptHashes + 1) // + 1 vue modulepreload + expect(inlineStyleHashes).toBe(expectedInlineStyleHashes + 1) // Inlined style + expect(externalStyleHashes).toBe(expectedExternalStyleHashes) + }) + + + it('sets script-src for external scripts', async () => { + const res = await fetch('/external-script') + + const body = await res.text() + const { metaTag, csp, elementsWithIntegrity, inlineScriptHashes, externalScriptHashes, inlineStyleHashes, externalStyleHashes } = extractDataFromBody(body) + + expect(res).toBeDefined() + expect(res).toBeTruthy() + expect(body).toBeDefined() + expect(metaTag).toBeDefined() + expect(csp).toBeDefined() + expect(elementsWithIntegrity).toBe(expectedIntegrityAttributes + 1) // External script + expect(inlineScriptHashes).toBe(expectedInlineScriptHashes) + expect(externalScriptHashes).toBe(expectedExternalScriptHashes + 2) // External script + 1 vue modulepreload + expect(inlineStyleHashes).toBe(expectedInlineStyleHashes) + expect(externalStyleHashes).toBe(expectedExternalStyleHashes) + }) + + it('sets style-src for external stylesheets', async () => { + const res = await fetch('/external-style') + + const body = await res.text() + const { metaTag, csp, elementsWithIntegrity, inlineScriptHashes, externalScriptHashes, inlineStyleHashes, externalStyleHashes } = extractDataFromBody(body) + + + expect(res).toBeDefined() + expect(res).toBeTruthy() + expect(body).toBeDefined() + expect(metaTag).toBeDefined() + expect(csp).toBeDefined() + expect(elementsWithIntegrity).toBe(expectedIntegrityAttributes + 1) // External style + expect(inlineScriptHashes).toBe(expectedInlineScriptHashes) + expect(externalScriptHashes).toBe(expectedExternalScriptHashes + 1) // + 1 vue modulepreload + expect(inlineStyleHashes).toBe(expectedInlineStyleHashes) + expect(externalStyleHashes).toBe(expectedExternalStyleHashes + 1) // External style + }) + + it('does not set policy for unsupported links', async () => { + const res = await fetch('/external-link') + + const body = await res.text() + const { metaTag, csp, elementsWithIntegrity, inlineScriptHashes, externalScriptHashes, inlineStyleHashes, externalStyleHashes } = extractDataFromBody(body) + + + expect(res).toBeDefined() + expect(res).toBeTruthy() + expect(body).toBeDefined() + expect(metaTag).toBeDefined() + expect(csp).toBeDefined() + expect(elementsWithIntegrity).toBe(expectedIntegrityAttributes + 1) // External link + expect(inlineScriptHashes).toBe(expectedInlineScriptHashes) + expect(externalScriptHashes).toBe(expectedExternalScriptHashes + 1) // + 1 vue modulepreload + expect(inlineStyleHashes).toBe(expectedInlineStyleHashes) + expect(externalStyleHashes).toBe(expectedExternalStyleHashes) + }) + + it('does not CSP via meta in SSR mode', async () => { + const res = await fetch('/not-ssg') + + const body = await res.text() + const { metaTag, csp, elementsWithIntegrity, inlineScriptHashes, externalScriptHashes, inlineStyleHashes, externalStyleHashes } = extractDataFromBody(body) + + expect(res).toBeDefined() + expect(res).toBeTruthy() + expect(body).toBeDefined() + expect(metaTag).toBeNull() + expect(csp).toBeUndefined() + expect(elementsWithIntegrity).toBe(expectedIntegrityAttributes + 3) // External script + style + icon + expect(inlineScriptHashes).toBe(0) + expect(externalScriptHashes).toBe(0) + expect(inlineStyleHashes).toBe(0) + expect(externalStyleHashes).toBe(0) + }) +}) diff --git a/yarn.lock b/yarn.lock index 30c667c3..66679543 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1350,61 +1350,61 @@ "@typescript-eslint/visitor-keys" "6.7.2" debug "^4.3.4" -"@typescript-eslint/scope-manager@6.7.5": - version "6.7.5" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-6.7.5.tgz#1cf33b991043886cd67f4f3600b8e122fc14e711" - integrity sha512-GAlk3eQIwWOJeb9F7MKQ6Jbah/vx1zETSDw8likab/eFcqkjSD7BI75SDAeC5N2L0MmConMoPvTsmkrg71+B1A== +"@typescript-eslint/scope-manager@6.7.2": + version "6.7.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-6.7.2.tgz#cf59a2095d2f894770c94be489648ad1c78dc689" + integrity sha512-bgi6plgyZjEqapr7u2mhxGR6E8WCzKNUFWNh6fkpVe9+yzRZeYtDTbsIBzKbcxI+r1qVWt6VIoMSNZ4r2A+6Yw== dependencies: - "@typescript-eslint/types" "6.7.5" - "@typescript-eslint/visitor-keys" "6.7.5" + "@typescript-eslint/types" "6.7.2" + "@typescript-eslint/visitor-keys" "6.7.2" -"@typescript-eslint/type-utils@6.7.5": - version "6.7.5" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-6.7.5.tgz#0a65949ec16588d8956f6d967f7d9c84ddb2d72a" - integrity sha512-Gs0qos5wqxnQrvpYv+pf3XfcRXW6jiAn9zE/K+DlmYf6FcpxeNYN0AIETaPR7rHO4K2UY+D0CIbDP9Ut0U4m1g== +"@typescript-eslint/type-utils@6.7.2": + version "6.7.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-6.7.2.tgz#ed921c9db87d72fa2939fee242d700561454f367" + integrity sha512-36F4fOYIROYRl0qj95dYKx6kybddLtsbmPIYNK0OBeXv2j9L5nZ17j9jmfy+bIDHKQgn2EZX+cofsqi8NPATBQ== dependencies: - "@typescript-eslint/typescript-estree" "6.7.5" - "@typescript-eslint/utils" "6.7.5" + "@typescript-eslint/typescript-estree" "6.7.2" + "@typescript-eslint/utils" "6.7.2" debug "^4.3.4" ts-api-utils "^1.0.1" -"@typescript-eslint/types@6.7.5": - version "6.7.5" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-6.7.5.tgz#4571320fb9cf669de9a95d9849f922c3af809790" - integrity sha512-WboQBlOXtdj1tDFPyIthpKrUb+kZf2VroLZhxKa/VlwLlLyqv/PwUNgL30BlTVZV1Wu4Asu2mMYPqarSO4L5ZQ== +"@typescript-eslint/types@6.7.2": + version "6.7.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-6.7.2.tgz#75a615a6dbeca09cafd102fe7f465da1d8a3c066" + integrity sha512-flJYwMYgnUNDAN9/GAI3l8+wTmvTYdv64fcH8aoJK76Y+1FCZ08RtI5zDerM/FYT5DMkAc+19E4aLmd5KqdFyg== -"@typescript-eslint/typescript-estree@6.7.5": - version "6.7.5" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-6.7.5.tgz#4578de1a26e9f24950f029a4f00d1bfe41f15a39" - integrity sha512-NhJiJ4KdtwBIxrKl0BqG1Ur+uw7FiOnOThcYx9DpOGJ/Abc9z2xNzLeirCG02Ig3vkvrc2qFLmYSSsaITbKjlg== +"@typescript-eslint/typescript-estree@6.7.2": + version "6.7.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-6.7.2.tgz#ce5883c23b581a5caf878af641e49dd0349238c7" + integrity sha512-kiJKVMLkoSciGyFU0TOY0fRxnp9qq1AzVOHNeN1+B9erKFCJ4Z8WdjAkKQPP+b1pWStGFqezMLltxO+308dJTQ== dependencies: - "@typescript-eslint/types" "6.7.5" - "@typescript-eslint/visitor-keys" "6.7.5" + "@typescript-eslint/types" "6.7.2" + "@typescript-eslint/visitor-keys" "6.7.2" debug "^4.3.4" globby "^11.1.0" is-glob "^4.0.3" semver "^7.5.4" ts-api-utils "^1.0.1" -"@typescript-eslint/utils@6.7.5": - version "6.7.5" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-6.7.5.tgz#ab847b53d6b65e029314b8247c2336843dba81ab" - integrity sha512-pfRRrH20thJbzPPlPc4j0UNGvH1PjPlhlCMq4Yx7EGjV7lvEeGX0U6MJYe8+SyFutWgSHsdbJ3BXzZccYggezA== +"@typescript-eslint/utils@6.7.2": + version "6.7.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-6.7.2.tgz#b9ef0da6f04932167a9222cb4ac59cb187165ebf" + integrity sha512-ZCcBJug/TS6fXRTsoTkgnsvyWSiXwMNiPzBUani7hDidBdj1779qwM1FIAmpH4lvlOZNF3EScsxxuGifjpLSWQ== dependencies: "@eslint-community/eslint-utils" "^4.4.0" "@types/json-schema" "^7.0.12" "@types/semver" "^7.5.0" - "@typescript-eslint/scope-manager" "6.7.5" - "@typescript-eslint/types" "6.7.5" - "@typescript-eslint/typescript-estree" "6.7.5" + "@typescript-eslint/scope-manager" "6.7.2" + "@typescript-eslint/types" "6.7.2" + "@typescript-eslint/typescript-estree" "6.7.2" semver "^7.5.4" -"@typescript-eslint/visitor-keys@6.7.5": - version "6.7.5" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-6.7.5.tgz#84c68d6ceb5b12d5246b918b84f2b79affd6c2f1" - integrity sha512-3MaWdDZtLlsexZzDSdQWsFQ9l9nL8B80Z4fImSpyllFC/KLqWQRdEcB+gGGO+N3Q2uL40EsG66wZLsohPxNXvg== +"@typescript-eslint/visitor-keys@6.7.2": + version "6.7.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-6.7.2.tgz#4cb2bd786f1f459731b0ad1584c9f73e1c7a4d5c" + integrity sha512-uVw9VIMFBUTz8rIeaUT3fFe8xIUx8r4ywAdlQv1ifH+6acn/XF8Y6rwJ7XNmkNMDrTW+7+vxFFPIF40nJCVsMQ== dependencies: - "@typescript-eslint/types" "6.7.5" + "@typescript-eslint/types" "6.7.2" eslint-visitor-keys "^3.4.1" "@unhead/dom@1.7.4", "@unhead/dom@^1.7.4": @@ -2071,7 +2071,7 @@ caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001538: resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001549.tgz" integrity sha512-qRp48dPYSCYaP+KurZLhDYdVE+yEyht/3NlmcJgVQ2VMGt6JL36ndQ/7rgspdZsJuxDPFIo/OzBT2+GmIJ53BA== -caniuse-lite@^1.0.30001541: +caniuse-lite@^1.0.30001517: version "1.0.30001561" resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001561.tgz#752f21f56f96f1b1a52e97aae98c57c562d5d9da" integrity sha512-NTt0DNoKe958Q0BE0j0c1V9jbUzhBxHIEJy7asmGrpE0yG63KTV7PLHPnK2E1O9RsQrQ081I3NLuXGS6zht3cw== @@ -2111,7 +2111,7 @@ chalk@^5.3.0: resolved "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz" integrity sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w== -check-error@^1.0.3: +check-error@^1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/check-error/-/check-error-1.0.3.tgz#a6502e4312a7ee969f646e83bb3ddd56281bd694" integrity sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg== @@ -2460,7 +2460,7 @@ debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.2, debug@^4.3.3, debug@^4.3.4: dependencies: ms "2.1.2" -deep-eql@^4.1.3: +deep-eql@^4.1.2: version "4.1.3" resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-4.1.3.tgz#7c7775513092f7df98d8df9996dd085eb668cc6d" integrity sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw== @@ -2631,7 +2631,7 @@ ee-first@1.1.1: resolved "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz" integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== -electron-to-chromium@^1.4.535: +electron-to-chromium@^1.4.477: version "1.4.578" resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.578.tgz#7a3510f333bcd55e87882799ebeb7518d6ab4d95" integrity sha512-V0ZhSu1BQZKfG0yNEL6Dadzik8E1vAzfpVOapdSiT9F6yapEJ3Bk+4tZ4SMPdWiUchCgnM/ByYtBzp5ntzDMIA== @@ -3041,9 +3041,9 @@ flat@^5.0.2: resolved "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz" integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== -flatted@^3.2.9: +flatted@^3.2.7, flatted@^3.2.9: version "3.2.9" - resolved "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.9.tgz#7eb4c67ca1ba34232ca9d2d93e9886e611ad7daf" integrity sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ== foreground-child@^3.1.0: @@ -3141,7 +3141,7 @@ get-caller-file@^2.0.5: resolved "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== -get-func-name@^2.0.1, get-func-name@^2.0.2: +get-func-name@^2.0.0, get-func-name@^2.0.1, get-func-name@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.2.tgz#0d7cf20cd13fda808669ffa88f4ffc7a3943fc41" integrity sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ== @@ -3892,6 +3892,13 @@ lodash@^4.17.15, lodash@^4.17.21: resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== +loupe@^2.3.1: + version "2.3.7" + resolved "https://registry.yarnpkg.com/loupe/-/loupe-2.3.7.tgz#6e69b7d4db7d3ab436328013d37d1c8c3540c697" + integrity sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA== + dependencies: + get-func-name "^2.0.1" + loupe@^2.3.6: version "2.3.6" resolved "https://registry.npmjs.org/loupe/-/loupe-2.3.6.tgz" @@ -4199,12 +4206,17 @@ mrmime@^1.0.0: resolved "https://registry.npmjs.org/mrmime/-/mrmime-1.0.1.tgz" integrity sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw== +ms@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== + ms@2.1.2, ms@^2.0.0: version "2.1.2" resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== -ms@2.1.3, ms@^2.1.1: +ms@2.1.3: version "2.1.3" resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== @@ -5866,7 +5878,7 @@ type-check@^0.4.0, type-check@~0.4.0: dependencies: prelude-ls "^1.2.1" -type-detect@^4.0.0, type-detect@^4.0.8: +type-detect@^4.0.0, type-detect@^4.0.5: version "4.0.8" resolved "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz" integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== @@ -6107,7 +6119,7 @@ untyped@^1.4.0: mri "^1.2.0" scule "^1.0.0" -update-browserslist-db@^1.0.13: +update-browserslist-db@^1.0.11: version "1.0.13" resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz#3c5e4f5c083661bd38ef64b6328c26ed6c8248c4" integrity sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg== From b2415a72de877f8d0c56a445a34b076dc35c299a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Raffray?= Date: Tue, 14 Nov 2023 15:19:24 +0100 Subject: [PATCH 14/16] update csp default config --- .../1.getting-started/2.configuration.md | 5 +-- .../1.documentation/2.headers/1.csp.md | 36 ++++++++++++------- .../5.advanced/3.strict-csp.md | 4 ++- src/defaultConfig.ts | 8 +++-- src/module.ts | 4 +-- ...ntegrity.ts => 02-subresourceIntegrity.ts} | 2 +- .../plugins/{02-cspSsg.ts => 03-cspSsg.ts} | 0 test/fixtures/nonce/nuxt.config.ts | 3 +- test/headers.test.ts | 7 ++-- test/nonce.test.ts | 2 +- 10 files changed, 44 insertions(+), 27 deletions(-) rename src/runtime/nitro/plugins/{01m-subresourceIntegrity.ts => 02-subresourceIntegrity.ts} (98%) rename src/runtime/nitro/plugins/{02-cspSsg.ts => 03-cspSsg.ts} (100%) diff --git a/docs/content/1.documentation/1.getting-started/2.configuration.md b/docs/content/1.documentation/1.getting-started/2.configuration.md index 14494b8a..a5593ab9 100644 --- a/docs/content/1.documentation/1.getting-started/2.configuration.md +++ b/docs/content/1.documentation/1.getting-started/2.configuration.md @@ -44,7 +44,7 @@ security: { crossOriginOpenerPolicy: 'same-origin', crossOriginEmbedderPolicy: 'require-corp', contentSecurityPolicy: { - 'base-uri': ["'self'"], + 'base-uri': ["'none'"], 'font-src': ["'self'", 'https:', 'data:'], 'form-action': ["'self'"], 'frame-ancestors': ["'self'"], @@ -52,6 +52,7 @@ security: { 'object-src': ["'none'"], 'script-src-attr': ["'none'"], 'style-src': ["'self'", 'https:', "'unsafe-inline'"], + 'script-src': ["'self'", 'https:', "'unsafe-inline'", "'strict-dynamic'", "'nonce-{{nonce}}'"], 'upgrade-insecure-requests': true }, originAgentCluster: '?1', @@ -107,7 +108,7 @@ security: { basicAuth: false, enabled: true, csrf: false, - nonce: false, + nonce: true, removeLoggers: { external: [], consoleType: ['log', 'debug'], diff --git a/docs/content/1.documentation/2.headers/1.csp.md b/docs/content/1.documentation/2.headers/1.csp.md index 227a0b74..2a143d1e 100644 --- a/docs/content/1.documentation/2.headers/1.csp.md +++ b/docs/content/1.documentation/2.headers/1.csp.md @@ -40,10 +40,10 @@ You can also disable this header by `contentSecurityPolicy: false`. ## Default value -By default, Nuxt Security will set following value for this header. +By default, Nuxt Security will set following value for this header: ```http -Content-Security-Policy: base-uri 'self'; font-src 'self' https: data:; form-action 'self'; frame-ancestors 'self'; img-src 'self' data:; object-src 'none'; script-src-attr 'none'; style-src 'self' https: 'unsafe-inline'; upgrade-insecure-requests +Content-Security-Policy: base-uri 'none'; font-src 'self' https: data:; form-action 'self'; frame-ancestors 'self'; img-src 'self' data:; object-src 'none'; script-src-attr 'none'; style-src 'self' https: 'unsafe-inline'; script-src 'self' https: 'unsafe-inline' 'strict-dynamic' 'nonce-{{nonce}}'; upgrade-insecure-requests ``` ## Available values @@ -125,14 +125,15 @@ type CSPSandboxValue = ## Strict CSP -Nuxt Security helps you increase the security of your site via **strict CSP** support for both SSR and SSG applications. +Nuxt Security helps you increase the security of your site by enabling **Strict CSP** support for both SSR and SSG applications. For further reading about Strict CSP and how to handle specific cases, please consult our [Adanced Section about Strict CSP](/documentation/advanced/strict-csp) - For SSR applications, Nuxt Security implements strict CSP via nonces. A one-time cryptographically-generated random nonce is generated at runtime by the server for each request of a page. - For SSG applications, Nuxt Security implements strict CSP via hashes. At static build-time, Nuxt Security computes the SHA hashes of the elements that are allowed to execute on your site. -If you want to enable strict CSP, we recommend that you configure the `contentSecurityPolicy` header as follows: + +By default, Strict CSP will be enabled on your site. The following default configuration options are used: ```ts export default defineNuxtConfig({ @@ -152,24 +153,31 @@ export default defineNuxtConfig({ "'nonce-{{nonce}}'" // Enables CSP nonce support for scripts in SSR mode, supported by almost any browser (level 2) ], 'style-src': [ - "'self'", // Enables loading of stylesheets hosted on your own domain + "'self'", // Enables loading of stylesheets hosted on same origin "https:", // For increased security, replace by the specific hosting domain or file name of your external stylesheets "'unsafe-inline'" // Recommended default for most Nuxt apps - ] + ], + 'img-src': ["'self'", "data:"], // Add relevant https://... sources if you load images from external sources + 'font-src': ["'self'", "https:", "data:"], // For increased security, replace by the specific sources for fonts + 'base-uri': ["'none'"], + 'object-src': ["'none'"], + 'script-src-attr': ["'none'"], + 'form-action': ["'self'"], + 'frame-ancestors': ["'self'"], + 'upgrade-insecure-requests': true } - } + }, + sri: true } }) ``` -These default values will enable Strict CSP in the majority of cases. - ## Server Side Rendering (SSR) Nuxt Security provides first-class support of SSR apps via 'strict-dynamic' and nonces. -To enable Strict CSP in SSR mode, you will need to set the `nonce` option and the `"'nonce-{{nonce}}'"` placeholders: +In SSR mode, Strict CSP is enabled when you set the `nonce` option and the `"'nonce-{{nonce}}'"` placeholders: ```ts export default defineNuxtConfig({ @@ -218,7 +226,7 @@ This will result in following code being added to your static app `` tag: :: -To enable Strict CSP for SSG apps, you will need to set the `ssg` option: +For SSG apps, Strict CSP is enabled when you set the `ssg` and `sri` options: ```ts export default defineNuxtConfig({ @@ -227,6 +235,7 @@ export default defineNuxtConfig({ hashScripts: true, // Enables CSP hash support for scripts in SSG mode hashStyles: false // Disables CSP hash support for styles in SSG mode (recommended) }, + sri: true, headers: { contentSecurityPolicy: { 'script-src': [ @@ -243,6 +252,7 @@ Nuxt Security will generate script hashes and style hashes for you according to - `hashScripts`: Set this option to `true` to parse all inline scripts as well as all external scripts. Nuxt-Security will compute the hashes of inline scripts and find the `integrity` attributes of external scripts, and will add them to your `script-src` policy. - `hashStyles`: Set this option to `true` to parse all inline styles as well as all external styles. Nuxt-Security will compute the hashes of inline styles and find the `integrity` attributes of external styles, and will add them to your `style-src` policy. + ::alert{type="warning"} Our default recommendation is to avoid setting the `ssg: hashStyles` option to `true`.
@@ -252,9 +262,9 @@ For further discussion and alternatives, please refer to our [Advanced Section o :: ::alert{type="info"} -For SSG apps with `'strict-dynamic'` mode, external scripts will only be allowed to execute if they carry an integrity attribute. +Nuxt Security will automatically calculate the `integrity` attributes of all your bundled assets if you set the `sri` option to `true`. For unbundled assets, you may need to set the `integrity` attribute manually.
-Please see our section on Integrity Hashes [below](#integrity-hashes-for-ssg) +Please see below our section on [Integrity Hashes For SSG](#integrity-hashes-for-ssg) :: _Note: Hashes only work for SSG. The `ssg` options are ignored when you build your app for SSR via `nuxi build`._ diff --git a/docs/content/1.documentation/5.advanced/3.strict-csp.md b/docs/content/1.documentation/5.advanced/3.strict-csp.md index ac1d71a9..2f3941aa 100644 --- a/docs/content/1.documentation/5.advanced/3.strict-csp.md +++ b/docs/content/1.documentation/5.advanced/3.strict-csp.md @@ -23,6 +23,7 @@ Useful links on CSP: - MDN [documentation](https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP) - OWASP CSP [cheatsheet](https://cheatsheetseries.owasp.org/cheatsheets/Content_Security_Policy_Cheat_Sheet.html) - Auth0 blog series on [CSP](https://auth0.com/blog/defending-against-xss-with-csp/), [SPAs](https://auth0.com/blog/deploying-csp-in-spa/) and [finetuning](https://auth0.com/blog/from-zero-to-hero-with-csp/) + - Google's [CSP Overview](https://csp.withgoogle.com/) - Google's [CSP Evaluator](https://csp-evaluator.withgoogle.com) :: @@ -199,6 +200,7 @@ However, there are many important details that you should know: 2. **Hashes and Nonces are primarily intended for inline elements**. External resources are still supposed to be whitelisted the old way, i.e. by including the domain name or file name in the policy. However, CSP Level 2 added the option to also whitelist external resources by nonce, _but not by hash_. So: - If you use **nonce**: Inline and external elements can be whitelisted by nonce. External elements can also be whitelisted by name. - If you use **hash**: Inline elements can be whitelisted by hash. External elements still need to be whitelisted by name. + 3. **Hashes and Nonces only work on scripts and styles**. It is useless to use them on other tags (``, ``, `` etc.), or to inlude them in any policy other than `script-src` and `style-src`. A common mistake is to try to whitelist an external image by nonce via the `img-src` policy: this will not work. @@ -250,7 +252,7 @@ CSP Level 3 was designed by folks at Google who were facing the problems describ What `'strict-dynamic'` does, is it allows a pre-authorized parent script to insert any child script. If the parent script is approved by its nonce or hash, then all children scripts do not need to carry a nonce or hash anymore. ::alert{type="info"} -For Nuxt, this solves the hydration problem, because the Nuxt root script (the _entry_ script) is itself pre-authorized. +For Nuxt, this solves the hydration problem, because Nuxt Security pre-authorizes your root script (the _entry_ script). :: So when hydration time comes, the Nuxt root script can now insert any inline or external script. diff --git a/src/defaultConfig.ts b/src/defaultConfig.ts index 3cf02ce7..5f7fafb9 100644 --- a/src/defaultConfig.ts +++ b/src/defaultConfig.ts @@ -8,7 +8,7 @@ export const defaultSecurityConfig = (serverlUrl: string): ModuleOptions => ({ crossOriginOpenerPolicy: 'same-origin', crossOriginEmbedderPolicy: 'require-corp', contentSecurityPolicy: { - 'base-uri': ["'self'"], + 'base-uri': ["'none'"], 'font-src': ["'self'", 'https:', 'data:'], 'form-action': ["'self'"], 'frame-ancestors': ["'self'"], @@ -16,6 +16,7 @@ export const defaultSecurityConfig = (serverlUrl: string): ModuleOptions => ({ 'object-src': ["'none'"], 'script-src-attr': ["'none'"], 'style-src': ["'self'", 'https:', "'unsafe-inline'"], + 'script-src': ["'self'", 'https:', "'unsafe-inline'", "'strict-dynamic'", "'nonce-{{nonce}}'"], 'upgrade-insecure-requests': true }, originAgentCluster: '?1', @@ -72,7 +73,7 @@ export const defaultSecurityConfig = (serverlUrl: string): ModuleOptions => ({ basicAuth: false, enabled: true, csrf: false, - nonce: false, + nonce: true, // https://github.com/Talljack/unplugin-remove/blob/main/src/types.ts removeLoggers: { external: [], @@ -83,5 +84,6 @@ export const defaultSecurityConfig = (serverlUrl: string): ModuleOptions => ({ ssg: { hashScripts: true, hashStyles: false - } + }, + sri: true }) diff --git a/src/module.ts b/src/module.ts index 4be1a698..d5db73ef 100644 --- a/src/module.ts +++ b/src/module.ts @@ -273,7 +273,7 @@ const registerSecurityNitroPlugins = ( config.plugins.push( normalize( fileURLToPath( - new URL('./runtime/nitro/plugins/01m-subresourceIntegrity', import.meta.url) + new URL('./runtime/nitro/plugins/02-subresourceIntegrity', import.meta.url) ) ) ) @@ -287,7 +287,7 @@ const registerSecurityNitroPlugins = ( config.plugins.push( normalize( fileURLToPath( - new URL('./runtime/nitro/plugins/02-cspSsg', import.meta.url) + new URL('./runtime/nitro/plugins/03-cspSsg', import.meta.url) ) ) ) diff --git a/src/runtime/nitro/plugins/01m-subresourceIntegrity.ts b/src/runtime/nitro/plugins/02-subresourceIntegrity.ts similarity index 98% rename from src/runtime/nitro/plugins/01m-subresourceIntegrity.ts rename to src/runtime/nitro/plugins/02-subresourceIntegrity.ts index e3667c1d..3f122d48 100644 --- a/src/runtime/nitro/plugins/01m-subresourceIntegrity.ts +++ b/src/runtime/nitro/plugins/02-subresourceIntegrity.ts @@ -1,6 +1,6 @@ import type { H3Event } from 'h3' import { extname } from 'pathe' -import { useStorage } from '#imports' +import { useStorage, defineNitroPlugin } from '#imports' import * as cheerio from 'cheerio' export default defineNitroPlugin((nitroApp) => { diff --git a/src/runtime/nitro/plugins/02-cspSsg.ts b/src/runtime/nitro/plugins/03-cspSsg.ts similarity index 100% rename from src/runtime/nitro/plugins/02-cspSsg.ts rename to src/runtime/nitro/plugins/03-cspSsg.ts diff --git a/test/fixtures/nonce/nuxt.config.ts b/test/fixtures/nonce/nuxt.config.ts index 964404a9..f6589689 100644 --- a/test/fixtures/nonce/nuxt.config.ts +++ b/test/fixtures/nonce/nuxt.config.ts @@ -29,8 +29,7 @@ export default defineNuxtConfig({ "'self'", // backwards compatibility for older browsers that don't support strict-dynamic "'nonce-{{nonce}}'", "'strict-dynamic'" - ], - 'script-src-attr': ["'self'", "'nonce-{{nonce}}'", "'strict-dynamic'"] + ] } } } diff --git a/test/headers.test.ts b/test/headers.test.ts index 25284539..7f5ad3a7 100644 --- a/test/headers.test.ts +++ b/test/headers.test.ts @@ -6,7 +6,7 @@ describe('[nuxt-security] Headers', async () => { await setup({ rootDir: fileURLToPath(new URL('./fixtures/basic', import.meta.url)), }) - let res + let res: Response it ('fetches the homepage', async () => { res = await fetch('/') @@ -32,9 +32,12 @@ describe('[nuxt-security] Headers', async () => { expect(headers.has('content-security-policy')).toBeTruthy() const cspHeaderValue = headers.get('content-security-policy') + const nonceValue = cspHeaderValue?.match(/'nonce-(.*?)'/)?.[1] expect(cspHeaderValue).toBeTruthy() - expect(cspHeaderValue).toBe("base-uri 'self'; font-src 'self' https: data:; form-action 'self'; frame-ancestors 'self'; img-src 'self' data:; object-src 'none'; script-src-attr 'none'; style-src 'self' https: 'unsafe-inline'; upgrade-insecure-requests") + expect(nonceValue).toBeDefined() + expect(nonceValue).toHaveLength(24) + expect(cspHeaderValue).toBe(`base-uri 'none'; font-src 'self' https: data:; form-action 'self'; frame-ancestors 'self'; img-src 'self' data:; object-src 'none'; script-src-attr 'none'; style-src 'self' https: 'unsafe-inline'; script-src 'self' https: 'unsafe-inline' 'strict-dynamic' 'nonce-${nonceValue}'; upgrade-insecure-requests`) }) it('has `cross-origin-embedder-policy` header set with correct default value', async () => { diff --git a/test/nonce.test.ts b/test/nonce.test.ts index c44b1cab..937ab317 100644 --- a/test/nonce.test.ts +++ b/test/nonce.test.ts @@ -63,7 +63,7 @@ describe('[nuxt-security] Nonce', async () => { const noncesInCsp = cspHeaderValue?.match(/'nonce-(.*?)'/)?.length ?? 0 expect(noncesInCsp).toBe(0) - expect(cspHeaderValue).toBe("base-uri 'self'; font-src 'self' https: data:; form-action 'self'; frame-ancestors 'self'; img-src 'self' data:; object-src 'none'; script-src-attr 'self' 'strict-dynamic'; style-src 'self' ; upgrade-insecure-requests; script-src 'self' 'strict-dynamic'") + expect(cspHeaderValue).toBe("base-uri 'none'; font-src 'self' https: data:; form-action 'self'; frame-ancestors 'self'; img-src 'self' data:; object-src 'none'; script-src-attr 'none'; style-src 'self' ; script-src 'self' 'strict-dynamic'; upgrade-insecure-requests") }) it('injects `nonce` attribute in style tags', async () => { From 35418ffae331e57bc5169817703abcc010fdb006 Mon Sep 17 00:00:00 2001 From: Baroshem Date: Wed, 15 Nov 2023 10:49:43 +0100 Subject: [PATCH 15/16] docs: elipsis in strict-csp --- docs/content/1.documentation/5.advanced/3.strict-csp.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/content/1.documentation/5.advanced/3.strict-csp.md b/docs/content/1.documentation/5.advanced/3.strict-csp.md index 2f3941aa..0871e787 100644 --- a/docs/content/1.documentation/5.advanced/3.strict-csp.md +++ b/docs/content/1.documentation/5.advanced/3.strict-csp.md @@ -4,6 +4,8 @@ An advanced guide on Strict Content Security Policy --- +:ellipsis{right=0px width=75% blur=150px} + ## Foreword This section is provided as a guide to help you understand the implications of a Strict CSP for your Nuxt application. @@ -656,4 +658,4 @@ export default defineNuxtConfig({ } } }) -``` \ No newline at end of file +``` From 2973c31ed6817bec4a498b4f6e6366d848bc5e84 Mon Sep 17 00:00:00 2001 From: Baroshem Date: Wed, 15 Nov 2023 10:57:58 +0100 Subject: [PATCH 16/16] stackblitz: bump to 1.0.0-rc.4 --- .stackblitz/package.json | 2 +- .stackblitz/yarn.lock | 8 ++++---- package.json | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.stackblitz/package.json b/.stackblitz/package.json index cb2bd817..398faa2e 100644 --- a/.stackblitz/package.json +++ b/.stackblitz/package.json @@ -11,6 +11,6 @@ "nuxt": "3.7.3" }, "dependencies": { - "nuxt-security": "^1.0.0-rc.3" + "nuxt-security": "^1.0.0-rc.4" } } diff --git a/.stackblitz/yarn.lock b/.stackblitz/yarn.lock index 03d19b5b..bacec7f3 100644 --- a/.stackblitz/yarn.lock +++ b/.stackblitz/yarn.lock @@ -3113,10 +3113,10 @@ nuxt-csurf@^1.3.1: defu "^6.1.1" uncsrf "^1.1.1" -nuxt-security@^1.0.0-rc.3: - version "1.0.0-rc.3" - resolved "https://registry.yarnpkg.com/nuxt-security/-/nuxt-security-1.0.0-rc.3.tgz#7af5229e608acf67e1793963bd9164e43727e452" - integrity sha512-3up3u5H7GY3PE+s7B4+Kkj44r3WoOAKbPhpu7wRZn0oRN/bRmhcsK0QAzKGhxOpB3dgR9Zb5XtwKa2uzhLLp5Q== +nuxt-security@^1.0.0-rc.4: + version "1.0.0-rc.4" + resolved "https://registry.yarnpkg.com/nuxt-security/-/nuxt-security-1.0.0-rc.4.tgz#b3e2ba1a6d3d54d239e2bc8091c6ebd3bcbfc8c6" + integrity sha512-xYj0+kXpgePq59UPTZ73eGN74LT2ByFMbobV5eZkePVLWwa8MNl1j0XhM2IjdBhowFnCMasApU2P/dnP27J96g== dependencies: "@nuxt/kit" "^3.8.0" basic-auth "^2.0.1" diff --git a/package.json b/package.json index 0f1a7a5c..51174829 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "nuxt-security", - "version": "1.0.0-rc.3", + "version": "1.0.0-rc.4", "license": "MIT", "type": "module", "homepage": "https://nuxt-security.vercel.app",